Remove spirv headers

The spirv headers here are out-of-date. They are now provided by
dev-util/spirv-headers.

BUG=b:64571276
TEST=Check for errors and file conflicts:
  emerge-$BOARD opengles-headers spirv-headers

Cq-Depend: chromium:2627949
Change-Id: Ia8454d233839856a2bf71639f552facd88d95889
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/khronos/+/2643400
Tested-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Fei Shao <fshao@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org>
Auto-Submit: Chad Versace <chadversary@chromium.org>
Commit-Queue: Fei Shao <fshao@chromium.org>
diff --git a/include/spirv/unified1/AMD_gcn_shader.h b/include/spirv/unified1/AMD_gcn_shader.h
deleted file mode 100644
index 80165ae..0000000
--- a/include/spirv/unified1/AMD_gcn_shader.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright (c) 2020 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"), to deal in the Materials without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Materials, and to
-// permit persons to whom the Materials are furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Materials.
-// 
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
-// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
-// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
-//    https://www.khronos.org/registry/
-// 
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-// 
-
-#ifndef SPIRV_UNIFIED1_AMD_gcn_shader_H_
-#define SPIRV_UNIFIED1_AMD_gcn_shader_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-enum {
-    AMD_gcn_shaderRevision = 2,
-    AMD_gcn_shaderRevision_BitWidthPadding = 0x7fffffff
-};
-
-enum AMD_gcn_shaderInstructions {
-    AMD_gcn_shaderCubeFaceIndexAMD = 1,
-    AMD_gcn_shaderCubeFaceCoordAMD = 2,
-    AMD_gcn_shaderTimeAMD = 3,
-    AMD_gcn_shaderInstructionsMax = 0x7fffffff
-};
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // SPIRV_UNIFIED1_AMD_gcn_shader_H_
diff --git a/include/spirv/unified1/AMD_shader_ballot.h b/include/spirv/unified1/AMD_shader_ballot.h
deleted file mode 100644
index 8a8bb6e..0000000
--- a/include/spirv/unified1/AMD_shader_ballot.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright (c) 2020 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"), to deal in the Materials without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Materials, and to
-// permit persons to whom the Materials are furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Materials.
-// 
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
-// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
-// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
-//    https://www.khronos.org/registry/
-// 
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-// 
-
-#ifndef SPIRV_UNIFIED1_AMD_shader_ballot_H_
-#define SPIRV_UNIFIED1_AMD_shader_ballot_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-enum {
-    AMD_shader_ballotRevision = 5,
-    AMD_shader_ballotRevision_BitWidthPadding = 0x7fffffff
-};
-
-enum AMD_shader_ballotInstructions {
-    AMD_shader_ballotSwizzleInvocationsAMD = 1,
-    AMD_shader_ballotSwizzleInvocationsMaskedAMD = 2,
-    AMD_shader_ballotWriteInvocationAMD = 3,
-    AMD_shader_ballotMbcntAMD = 4,
-    AMD_shader_ballotInstructionsMax = 0x7fffffff
-};
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // SPIRV_UNIFIED1_AMD_shader_ballot_H_
diff --git a/include/spirv/unified1/AMD_shader_explicit_vertex_parameter.h b/include/spirv/unified1/AMD_shader_explicit_vertex_parameter.h
deleted file mode 100644
index 12b6480..0000000
--- a/include/spirv/unified1/AMD_shader_explicit_vertex_parameter.h
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (c) 2020 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"), to deal in the Materials without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Materials, and to
-// permit persons to whom the Materials are furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Materials.
-// 
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
-// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
-// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
-//    https://www.khronos.org/registry/
-// 
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-// 
-
-#ifndef SPIRV_UNIFIED1_AMD_shader_explicit_vertex_parameter_H_
-#define SPIRV_UNIFIED1_AMD_shader_explicit_vertex_parameter_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-enum {
-    AMD_shader_explicit_vertex_parameterRevision = 4,
-    AMD_shader_explicit_vertex_parameterRevision_BitWidthPadding = 0x7fffffff
-};
-
-enum AMD_shader_explicit_vertex_parameterInstructions {
-    AMD_shader_explicit_vertex_parameterInterpolateAtVertexAMD = 1,
-    AMD_shader_explicit_vertex_parameterInstructionsMax = 0x7fffffff
-};
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // SPIRV_UNIFIED1_AMD_shader_explicit_vertex_parameter_H_
diff --git a/include/spirv/unified1/AMD_shader_trinary_minmax.h b/include/spirv/unified1/AMD_shader_trinary_minmax.h
deleted file mode 100644
index 1b14997..0000000
--- a/include/spirv/unified1/AMD_shader_trinary_minmax.h
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright (c) 2020 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"), to deal in the Materials without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Materials, and to
-// permit persons to whom the Materials are furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Materials.
-// 
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
-// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
-// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
-//    https://www.khronos.org/registry/
-// 
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-// 
-
-#ifndef SPIRV_UNIFIED1_AMD_shader_trinary_minmax_H_
-#define SPIRV_UNIFIED1_AMD_shader_trinary_minmax_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-enum {
-    AMD_shader_trinary_minmaxRevision = 4,
-    AMD_shader_trinary_minmaxRevision_BitWidthPadding = 0x7fffffff
-};
-
-enum AMD_shader_trinary_minmaxInstructions {
-    AMD_shader_trinary_minmaxFMin3AMD = 1,
-    AMD_shader_trinary_minmaxUMin3AMD = 2,
-    AMD_shader_trinary_minmaxSMin3AMD = 3,
-    AMD_shader_trinary_minmaxFMax3AMD = 4,
-    AMD_shader_trinary_minmaxUMax3AMD = 5,
-    AMD_shader_trinary_minmaxSMax3AMD = 6,
-    AMD_shader_trinary_minmaxFMid3AMD = 7,
-    AMD_shader_trinary_minmaxUMid3AMD = 8,
-    AMD_shader_trinary_minmaxSMid3AMD = 9,
-    AMD_shader_trinary_minmaxInstructionsMax = 0x7fffffff
-};
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // SPIRV_UNIFIED1_AMD_shader_trinary_minmax_H_
diff --git a/include/spirv/unified1/DebugInfo.h b/include/spirv/unified1/DebugInfo.h
deleted file mode 100644
index c50a131..0000000
--- a/include/spirv/unified1/DebugInfo.h
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright (c) 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"),
-// to deal in the Materials without restriction, including without limitation
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-// and/or sell copies of the Materials, and to permit persons to whom the
-// Materials are furnished to do so, subject to the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Materials.
-// 
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
-// 
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
-// IN THE MATERIALS.
-
-#ifndef SPIRV_UNIFIED1_DebugInfo_H_
-#define SPIRV_UNIFIED1_DebugInfo_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-enum {
-    DebugInfoVersion = 100,
-    DebugInfoVersion_BitWidthPadding = 0x7fffffff
-};
-enum {
-    DebugInfoRevision = 1,
-    DebugInfoRevision_BitWidthPadding = 0x7fffffff
-};
-
-enum DebugInfoInstructions {
-    DebugInfoDebugInfoNone = 0,
-    DebugInfoDebugCompilationUnit = 1,
-    DebugInfoDebugTypeBasic = 2,
-    DebugInfoDebugTypePointer = 3,
-    DebugInfoDebugTypeQualifier = 4,
-    DebugInfoDebugTypeArray = 5,
-    DebugInfoDebugTypeVector = 6,
-    DebugInfoDebugTypedef = 7,
-    DebugInfoDebugTypeFunction = 8,
-    DebugInfoDebugTypeEnum = 9,
-    DebugInfoDebugTypeComposite = 10,
-    DebugInfoDebugTypeMember = 11,
-    DebugInfoDebugTypeInheritance = 12,
-    DebugInfoDebugTypePtrToMember = 13,
-    DebugInfoDebugTypeTemplate = 14,
-    DebugInfoDebugTypeTemplateParameter = 15,
-    DebugInfoDebugTypeTemplateTemplateParameter = 16,
-    DebugInfoDebugTypeTemplateParameterPack = 17,
-    DebugInfoDebugGlobalVariable = 18,
-    DebugInfoDebugFunctionDeclaration = 19,
-    DebugInfoDebugFunction = 20,
-    DebugInfoDebugLexicalBlock = 21,
-    DebugInfoDebugLexicalBlockDiscriminator = 22,
-    DebugInfoDebugScope = 23,
-    DebugInfoDebugNoScope = 24,
-    DebugInfoDebugInlinedAt = 25,
-    DebugInfoDebugLocalVariable = 26,
-    DebugInfoDebugInlinedVariable = 27,
-    DebugInfoDebugDeclare = 28,
-    DebugInfoDebugValue = 29,
-    DebugInfoDebugOperation = 30,
-    DebugInfoDebugExpression = 31,
-    DebugInfoDebugMacroDef = 32,
-    DebugInfoDebugMacroUndef = 33,
-    DebugInfoInstructionsMax = 0x7fffffff
-};
-
-
-enum DebugInfoDebugInfoFlags {
-    DebugInfoFlagIsProtected = 0x01,
-    DebugInfoFlagIsPrivate = 0x02,
-    DebugInfoFlagIsPublic = 0x03,
-    DebugInfoFlagIsLocal = 0x04,
-    DebugInfoFlagIsDefinition = 0x08,
-    DebugInfoFlagFwdDecl = 0x10,
-    DebugInfoFlagArtificial = 0x20,
-    DebugInfoFlagExplicit = 0x40,
-    DebugInfoFlagPrototyped = 0x80,
-    DebugInfoFlagObjectPointer = 0x100,
-    DebugInfoFlagStaticMember = 0x200,
-    DebugInfoFlagIndirectVariable = 0x400,
-    DebugInfoFlagLValueReference = 0x800,
-    DebugInfoFlagRValueReference = 0x1000,
-    DebugInfoFlagIsOptimized = 0x2000,
-    DebugInfoDebugInfoFlagsMax = 0x7fffffff
-};
-
-enum DebugInfoDebugBaseTypeAttributeEncoding {
-    DebugInfoUnspecified = 0,
-    DebugInfoAddress = 1,
-    DebugInfoBoolean = 2,
-    DebugInfoFloat = 4,
-    DebugInfoSigned = 5,
-    DebugInfoSignedChar = 6,
-    DebugInfoUnsigned = 7,
-    DebugInfoUnsignedChar = 8,
-    DebugInfoDebugBaseTypeAttributeEncodingMax = 0x7fffffff
-};
-
-enum DebugInfoDebugCompositeType {
-    DebugInfoClass = 0,
-    DebugInfoStructure = 1,
-    DebugInfoUnion = 2,
-    DebugInfoDebugCompositeTypeMax = 0x7fffffff
-};
-
-enum DebugInfoDebugTypeQualifier {
-    DebugInfoConstType = 0,
-    DebugInfoVolatileType = 1,
-    DebugInfoRestrictType = 2,
-    DebugInfoDebugTypeQualifierMax = 0x7fffffff
-};
-
-enum DebugInfoDebugOperation {
-    DebugInfoDeref = 0,
-    DebugInfoPlus = 1,
-    DebugInfoMinus = 2,
-    DebugInfoPlusUconst = 3,
-    DebugInfoBitPiece = 4,
-    DebugInfoSwap = 5,
-    DebugInfoXderef = 6,
-    DebugInfoStackValue = 7,
-    DebugInfoConstu = 8,
-    DebugInfoDebugOperationMax = 0x7fffffff
-};
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // SPIRV_UNIFIED1_DebugInfo_H_
diff --git a/include/spirv/unified1/GLSL.std.450.h b/include/spirv/unified1/GLSL.std.450.h
deleted file mode 100644
index 54cc00e..0000000
--- a/include/spirv/unified1/GLSL.std.450.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
-** Copyright (c) 2014-2016 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"),
-** to deal in the Materials without restriction, including without limitation
-** the rights to use, copy, modify, merge, publish, distribute, sublicense,
-** and/or sell copies of the Materials, and to permit persons to whom the
-** Materials are furnished to do so, subject to the following conditions:
-**
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Materials.
-**
-** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
-**
-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
-** IN THE MATERIALS.
-*/
-
-#ifndef GLSLstd450_H
-#define GLSLstd450_H
-
-static const int GLSLstd450Version = 100;
-static const int GLSLstd450Revision = 3;
-
-enum GLSLstd450 {
-    GLSLstd450Bad = 0,              // Don't use
-
-    GLSLstd450Round = 1,
-    GLSLstd450RoundEven = 2,
-    GLSLstd450Trunc = 3,
-    GLSLstd450FAbs = 4,
-    GLSLstd450SAbs = 5,
-    GLSLstd450FSign = 6,
-    GLSLstd450SSign = 7,
-    GLSLstd450Floor = 8,
-    GLSLstd450Ceil = 9,
-    GLSLstd450Fract = 10,
-
-    GLSLstd450Radians = 11,
-    GLSLstd450Degrees = 12,
-    GLSLstd450Sin = 13,
-    GLSLstd450Cos = 14,
-    GLSLstd450Tan = 15,
-    GLSLstd450Asin = 16,
-    GLSLstd450Acos = 17,
-    GLSLstd450Atan = 18,
-    GLSLstd450Sinh = 19,
-    GLSLstd450Cosh = 20,
-    GLSLstd450Tanh = 21,
-    GLSLstd450Asinh = 22,
-    GLSLstd450Acosh = 23,
-    GLSLstd450Atanh = 24,
-    GLSLstd450Atan2 = 25,
-
-    GLSLstd450Pow = 26,
-    GLSLstd450Exp = 27,
-    GLSLstd450Log = 28,
-    GLSLstd450Exp2 = 29,
-    GLSLstd450Log2 = 30,
-    GLSLstd450Sqrt = 31,
-    GLSLstd450InverseSqrt = 32,
-
-    GLSLstd450Determinant = 33,
-    GLSLstd450MatrixInverse = 34,
-
-    GLSLstd450Modf = 35,            // second operand needs an OpVariable to write to
-    GLSLstd450ModfStruct = 36,      // no OpVariable operand
-    GLSLstd450FMin = 37,
-    GLSLstd450UMin = 38,
-    GLSLstd450SMin = 39,
-    GLSLstd450FMax = 40,
-    GLSLstd450UMax = 41,
-    GLSLstd450SMax = 42,
-    GLSLstd450FClamp = 43,
-    GLSLstd450UClamp = 44,
-    GLSLstd450SClamp = 45,
-    GLSLstd450FMix = 46,
-    GLSLstd450IMix = 47,            // Reserved
-    GLSLstd450Step = 48,
-    GLSLstd450SmoothStep = 49,
-
-    GLSLstd450Fma = 50,
-    GLSLstd450Frexp = 51,            // second operand needs an OpVariable to write to
-    GLSLstd450FrexpStruct = 52,      // no OpVariable operand
-    GLSLstd450Ldexp = 53,
-
-    GLSLstd450PackSnorm4x8 = 54,
-    GLSLstd450PackUnorm4x8 = 55,
-    GLSLstd450PackSnorm2x16 = 56,
-    GLSLstd450PackUnorm2x16 = 57,
-    GLSLstd450PackHalf2x16 = 58,
-    GLSLstd450PackDouble2x32 = 59,
-    GLSLstd450UnpackSnorm2x16 = 60,
-    GLSLstd450UnpackUnorm2x16 = 61,
-    GLSLstd450UnpackHalf2x16 = 62,
-    GLSLstd450UnpackSnorm4x8 = 63,
-    GLSLstd450UnpackUnorm4x8 = 64,
-    GLSLstd450UnpackDouble2x32 = 65,
-
-    GLSLstd450Length = 66,
-    GLSLstd450Distance = 67,
-    GLSLstd450Cross = 68,
-    GLSLstd450Normalize = 69,
-    GLSLstd450FaceForward = 70,
-    GLSLstd450Reflect = 71,
-    GLSLstd450Refract = 72,
-
-    GLSLstd450FindILsb = 73,
-    GLSLstd450FindSMsb = 74,
-    GLSLstd450FindUMsb = 75,
-
-    GLSLstd450InterpolateAtCentroid = 76,
-    GLSLstd450InterpolateAtSample = 77,
-    GLSLstd450InterpolateAtOffset = 78,
-
-    GLSLstd450NMin = 79,
-    GLSLstd450NMax = 80,
-    GLSLstd450NClamp = 81,
-
-    GLSLstd450Count
-};
-
-#endif  // #ifndef GLSLstd450_H
diff --git a/include/spirv/unified1/NonSemanticDebugPrintf.h b/include/spirv/unified1/NonSemanticDebugPrintf.h
deleted file mode 100644
index 83796d7..0000000
--- a/include/spirv/unified1/NonSemanticDebugPrintf.h
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (c) 2020 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"), to deal in the Materials without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Materials, and to
-// permit persons to whom the Materials are furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Materials.
-// 
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
-// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
-// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
-//    https://www.khronos.org/registry/
-// 
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-// 
-
-#ifndef SPIRV_UNIFIED1_NonSemanticDebugPrintf_H_
-#define SPIRV_UNIFIED1_NonSemanticDebugPrintf_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-enum {
-    NonSemanticDebugPrintfRevision = 1,
-    NonSemanticDebugPrintfRevision_BitWidthPadding = 0x7fffffff
-};
-
-enum NonSemanticDebugPrintfInstructions {
-    NonSemanticDebugPrintfDebugPrintf = 1,
-    NonSemanticDebugPrintfInstructionsMax = 0x7fffffff
-};
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // SPIRV_UNIFIED1_NonSemanticDebugPrintf_H_
diff --git a/include/spirv/unified1/OpenCL.std.h b/include/spirv/unified1/OpenCL.std.h
deleted file mode 100644
index 2745e30..0000000
--- a/include/spirv/unified1/OpenCL.std.h
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
-** Copyright (c) 2015-2019 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"),
-** to deal in the Materials without restriction, including without limitation
-** the rights to use, copy, modify, merge, publish, distribute, sublicense,
-** and/or sell copies of the Materials, and to permit persons to whom the
-** Materials are furnished to do so, subject to the following conditions:
-**
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Materials.
-**
-** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
-**
-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
-** IN THE MATERIALS.
-*/
-
-#ifndef OPENCLstd_H
-#define OPENCLstd_H
-
-#ifdef __cplusplus
-namespace OpenCLLIB {
-
-enum Entrypoints {
-
-    // Section 2.1: Math extended instructions
-    Acos = 0,
-    Acosh = 1,
-    Acospi = 2,
-    Asin = 3,
-    Asinh = 4,
-    Asinpi = 5,
-    Atan = 6,
-    Atan2 = 7,
-    Atanh = 8,
-    Atanpi = 9,
-    Atan2pi = 10,
-    Cbrt = 11,
-    Ceil = 12,
-    Copysign = 13,
-    Cos = 14,
-    Cosh = 15,
-    Cospi = 16,
-    Erfc = 17,
-    Erf = 18,
-    Exp = 19,
-    Exp2 = 20,
-    Exp10 = 21,
-    Expm1 = 22,
-    Fabs = 23,
-    Fdim = 24,
-    Floor = 25,
-    Fma = 26,
-    Fmax = 27,
-    Fmin = 28,
-    Fmod = 29,
-    Fract = 30, 
-    Frexp = 31,
-    Hypot = 32,
-    Ilogb = 33,
-    Ldexp = 34,
-    Lgamma = 35,
-    Lgamma_r = 36,
-    Log = 37,
-    Log2 = 38,
-    Log10 = 39,
-    Log1p = 40,
-    Logb = 41,
-    Mad = 42,
-    Maxmag = 43,
-    Minmag = 44,
-    Modf = 45,
-    Nan = 46,
-    Nextafter = 47,
-    Pow = 48,
-    Pown = 49,
-    Powr = 50,
-    Remainder = 51,
-    Remquo = 52,
-    Rint = 53,
-    Rootn = 54,
-    Round = 55,
-    Rsqrt = 56,
-    Sin = 57,
-    Sincos = 58,
-    Sinh = 59,
-    Sinpi = 60,
-    Sqrt = 61,
-    Tan = 62,
-    Tanh = 63,
-    Tanpi = 64,
-    Tgamma = 65,
-    Trunc = 66,
-    Half_cos = 67,
-    Half_divide = 68,
-    Half_exp = 69,
-    Half_exp2 = 70,
-    Half_exp10 = 71,
-    Half_log = 72,
-    Half_log2 = 73,
-    Half_log10 = 74,
-    Half_powr = 75,
-    Half_recip = 76,
-    Half_rsqrt = 77,
-    Half_sin = 78,
-    Half_sqrt = 79,
-    Half_tan = 80,
-    Native_cos = 81,
-    Native_divide = 82,
-    Native_exp = 83,
-    Native_exp2 = 84,
-    Native_exp10 = 85,
-    Native_log = 86,
-    Native_log2 = 87,
-    Native_log10 = 88,
-    Native_powr = 89,
-    Native_recip = 90,
-    Native_rsqrt = 91,
-    Native_sin = 92,
-    Native_sqrt = 93,
-    Native_tan = 94,
-    
-    // Section 2.2: Integer instructions
-    SAbs = 141,
-    SAbs_diff = 142,
-    SAdd_sat = 143,
-    UAdd_sat = 144,
-    SHadd = 145,
-    UHadd = 146,
-    SRhadd = 147,
-    URhadd = 148,
-    SClamp = 149,
-    UClamp = 150, 
-    Clz = 151,
-    Ctz = 152,    
-    SMad_hi = 153,
-    UMad_sat = 154,
-    SMad_sat = 155,
-    SMax = 156,
-    UMax = 157,
-    SMin = 158,
-    UMin = 159,
-    SMul_hi = 160,
-    Rotate = 161,
-    SSub_sat = 162,
-    USub_sat = 163,
-    U_Upsample = 164,
-    S_Upsample = 165,
-    Popcount = 166,
-    SMad24 = 167,
-    UMad24 = 168,
-    SMul24 = 169,
-    UMul24 = 170,
-    UAbs = 201,
-    UAbs_diff = 202,
-    UMul_hi = 203,
-    UMad_hi = 204,
-
-    // Section 2.3: Common instructions
-    FClamp = 95,
-    Degrees = 96,
-    FMax_common = 97,
-    FMin_common = 98, 
-    Mix = 99,
-    Radians = 100,
-    Step = 101,
-    Smoothstep = 102,
-    Sign = 103,
-
-    // Section 2.4: Geometric instructions
-    Cross = 104,
-    Distance = 105, 
-    Length = 106,
-    Normalize = 107,
-    Fast_distance = 108,
-    Fast_length = 109,
-    Fast_normalize = 110,
-
-    // Section 2.5: Relational instructions
-    Bitselect = 186,
-    Select = 187,
-
-    // Section 2.6: Vector Data Load and Store instructions
-    Vloadn = 171,
-    Vstoren = 172,
-    Vload_half = 173,
-    Vload_halfn = 174,
-    Vstore_half = 175,
-    Vstore_half_r = 176,
-    Vstore_halfn = 177,
-    Vstore_halfn_r = 178,
-    Vloada_halfn = 179,
-    Vstorea_halfn = 180,
-    Vstorea_halfn_r = 181,
-
-    // Section 2.7: Miscellaneous Vector instructions
-    Shuffle = 182,
-    Shuffle2 = 183,
-
-    // Section 2.8: Misc instructions 
-    Printf = 184,
-    Prefetch = 185,
-};
-
-} // end namespace OpenCLLIB
-
-#else
-
-enum OpenCLstd_Entrypoints {
-
-    // Section 2.1: Math extended instructions
-    OpenCLstd_Acos = 0,
-    OpenCLstd_Acosh = 1,
-    OpenCLstd_Acospi = 2,
-    OpenCLstd_Asin = 3,
-    OpenCLstd_Asinh = 4,
-    OpenCLstd_Asinpi = 5,
-    OpenCLstd_Atan = 6,
-    OpenCLstd_Atan2 = 7,
-    OpenCLstd_Atanh = 8,
-    OpenCLstd_Atanpi = 9,
-    OpenCLstd_Atan2pi = 10,
-    OpenCLstd_Cbrt = 11,
-    OpenCLstd_Ceil = 12,
-    OpenCLstd_Copysign = 13,
-    OpenCLstd_Cos = 14,
-    OpenCLstd_Cosh = 15,
-    OpenCLstd_Cospi = 16,
-    OpenCLstd_Erfc = 17,
-    OpenCLstd_Erf = 18,
-    OpenCLstd_Exp = 19,
-    OpenCLstd_Exp2 = 20,
-    OpenCLstd_Exp10 = 21,
-    OpenCLstd_Expm1 = 22,
-    OpenCLstd_Fabs = 23,
-    OpenCLstd_Fdim = 24,
-    OpenCLstd_Floor = 25,
-    OpenCLstd_Fma = 26,
-    OpenCLstd_Fmax = 27,
-    OpenCLstd_Fmin = 28,
-    OpenCLstd_Fmod = 29,
-    OpenCLstd_Fract = 30, 
-    OpenCLstd_Frexp = 31,
-    OpenCLstd_Hypot = 32,
-    OpenCLstd_Ilogb = 33,
-    OpenCLstd_Ldexp = 34,
-    OpenCLstd_Lgamma = 35,
-    OpenCLstd_Lgamma_r = 36,
-    OpenCLstd_Log = 37,
-    OpenCLstd_Log2 = 38,
-    OpenCLstd_Log10 = 39,
-    OpenCLstd_Log1p = 40,
-    OpenCLstd_Logb = 41,
-    OpenCLstd_Mad = 42,
-    OpenCLstd_Maxmag = 43,
-    OpenCLstd_Minmag = 44,
-    OpenCLstd_Modf = 45,
-    OpenCLstd_Nan = 46,
-    OpenCLstd_Nextafter = 47,
-    OpenCLstd_Pow = 48,
-    OpenCLstd_Pown = 49,
-    OpenCLstd_Powr = 50,
-    OpenCLstd_Remainder = 51,
-    OpenCLstd_Remquo = 52,
-    OpenCLstd_Rint = 53,
-    OpenCLstd_Rootn = 54,
-    OpenCLstd_Round = 55,
-    OpenCLstd_Rsqrt = 56,
-    OpenCLstd_Sin = 57,
-    OpenCLstd_Sincos = 58,
-    OpenCLstd_Sinh = 59,
-    OpenCLstd_Sinpi = 60,
-    OpenCLstd_Sqrt = 61,
-    OpenCLstd_Tan = 62,
-    OpenCLstd_Tanh = 63,
-    OpenCLstd_Tanpi = 64,
-    OpenCLstd_Tgamma = 65,
-    OpenCLstd_Trunc = 66,
-    OpenCLstd_Half_cos = 67,
-    OpenCLstd_Half_divide = 68,
-    OpenCLstd_Half_exp = 69,
-    OpenCLstd_Half_exp2 = 70,
-    OpenCLstd_Half_exp10 = 71,
-    OpenCLstd_Half_log = 72,
-    OpenCLstd_Half_log2 = 73,
-    OpenCLstd_Half_log10 = 74,
-    OpenCLstd_Half_powr = 75,
-    OpenCLstd_Half_recip = 76,
-    OpenCLstd_Half_rsqrt = 77,
-    OpenCLstd_Half_sin = 78,
-    OpenCLstd_Half_sqrt = 79,
-    OpenCLstd_Half_tan = 80,
-    OpenCLstd_Native_cos = 81,
-    OpenCLstd_Native_divide = 82,
-    OpenCLstd_Native_exp = 83,
-    OpenCLstd_Native_exp2 = 84,
-    OpenCLstd_Native_exp10 = 85,
-    OpenCLstd_Native_log = 86,
-    OpenCLstd_Native_log2 = 87,
-    OpenCLstd_Native_log10 = 88,
-    OpenCLstd_Native_powr = 89,
-    OpenCLstd_Native_recip = 90,
-    OpenCLstd_Native_rsqrt = 91,
-    OpenCLstd_Native_sin = 92,
-    OpenCLstd_Native_sqrt = 93,
-    OpenCLstd_Native_tan = 94,
-    
-    // Section 2.2: Integer instructions
-    OpenCLstd_SAbs = 141,
-    OpenCLstd_SAbs_diff = 142,
-    OpenCLstd_SAdd_sat = 143,
-    OpenCLstd_UAdd_sat = 144,
-    OpenCLstd_SHadd = 145,
-    OpenCLstd_UHadd = 146,
-    OpenCLstd_SRhadd = 147,
-    OpenCLstd_URhadd = 148,
-    OpenCLstd_SClamp = 149,
-    OpenCLstd_UClamp = 150, 
-    OpenCLstd_Clz = 151,
-    OpenCLstd_Ctz = 152,    
-    OpenCLstd_SMad_hi = 153,
-    OpenCLstd_UMad_sat = 154,
-    OpenCLstd_SMad_sat = 155,
-    OpenCLstd_SMax = 156,
-    OpenCLstd_UMax = 157,
-    OpenCLstd_SMin = 158,
-    OpenCLstd_UMin = 159,
-    OpenCLstd_SMul_hi = 160,
-    OpenCLstd_Rotate = 161,
-    OpenCLstd_SSub_sat = 162,
-    OpenCLstd_USub_sat = 163,
-    OpenCLstd_U_Upsample = 164,
-    OpenCLstd_S_Upsample = 165,
-    OpenCLstd_Popcount = 166,
-    OpenCLstd_SMad24 = 167,
-    OpenCLstd_UMad24 = 168,
-    OpenCLstd_SMul24 = 169,
-    OpenCLstd_UMul24 = 170,
-    OpenCLstd_UAbs = 201,
-    OpenCLstd_UAbs_diff = 202,
-    OpenCLstd_UMul_hi = 203,
-    OpenCLstd_UMad_hi = 204,
-
-    // Section 2.3: Common instructions
-    OpenCLstd_FClamp = 95,
-    OpenCLstd_Degrees = 96,
-    OpenCLstd_FMax_common = 97,
-    OpenCLstd_FMin_common = 98, 
-    OpenCLstd_Mix = 99,
-    OpenCLstd_Radians = 100,
-    OpenCLstd_Step = 101,
-    OpenCLstd_Smoothstep = 102,
-    OpenCLstd_Sign = 103,
-
-    // Section 2.4: Geometric instructions
-    OpenCLstd_Cross = 104,
-    OpenCLstd_Distance = 105, 
-    OpenCLstd_Length = 106,
-    OpenCLstd_Normalize = 107,
-    OpenCLstd_Fast_distance = 108,
-    OpenCLstd_Fast_length = 109,
-    OpenCLstd_Fast_normalize = 110,
-
-    // Section 2.5: Relational instructions
-    OpenCLstd_Bitselect = 186,
-    OpenCLstd_Select = 187,
-
-    // Section 2.6: Vector Data Load and Store instructions
-    OpenCLstd_Vloadn = 171,
-    OpenCLstd_Vstoren = 172,
-    OpenCLstd_Vload_half = 173,
-    OpenCLstd_Vload_halfn = 174,
-    OpenCLstd_Vstore_half = 175,
-    OpenCLstd_Vstore_half_r = 176,
-    OpenCLstd_Vstore_halfn = 177,
-    OpenCLstd_Vstore_halfn_r = 178,
-    OpenCLstd_Vloada_halfn = 179,
-    OpenCLstd_Vstorea_halfn = 180,
-    OpenCLstd_Vstorea_halfn_r = 181,
-
-    // Section 2.7: Miscellaneous Vector instructions
-    OpenCLstd_Shuffle = 182,
-    OpenCLstd_Shuffle2 = 183,
-
-    // Section 2.8: Misc instructions 
-    OpenCLstd_Printf = 184,
-    OpenCLstd_Prefetch = 185,
-};
-
-#endif
-
-#endif  // #ifndef OPENCLstd_H
diff --git a/include/spirv/unified1/OpenCLDebugInfo100.h b/include/spirv/unified1/OpenCLDebugInfo100.h
deleted file mode 100644
index 1149980..0000000
--- a/include/spirv/unified1/OpenCLDebugInfo100.h
+++ /dev/null
@@ -1,156 +0,0 @@
-// Copyright (c) 2018 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"),
-// to deal in the Materials without restriction, including without limitation
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-// and/or sell copies of the Materials, and to permit persons to whom the
-// Materials are furnished to do so, subject to the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Materials.
-// 
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
-// 
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
-// IN THE MATERIALS.
-
-#ifndef SPIRV_UNIFIED1_OpenCLDebugInfo100_H_
-#define SPIRV_UNIFIED1_OpenCLDebugInfo100_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-enum {
-    OpenCLDebugInfo100Version = 200,
-    OpenCLDebugInfo100Version_BitWidthPadding = 0x7fffffff
-};
-enum {
-    OpenCLDebugInfo100Revision = 2,
-    OpenCLDebugInfo100Revision_BitWidthPadding = 0x7fffffff
-};
-
-enum OpenCLDebugInfo100Instructions {
-    OpenCLDebugInfo100DebugInfoNone = 0,
-    OpenCLDebugInfo100DebugCompilationUnit = 1,
-    OpenCLDebugInfo100DebugTypeBasic = 2,
-    OpenCLDebugInfo100DebugTypePointer = 3,
-    OpenCLDebugInfo100DebugTypeQualifier = 4,
-    OpenCLDebugInfo100DebugTypeArray = 5,
-    OpenCLDebugInfo100DebugTypeVector = 6,
-    OpenCLDebugInfo100DebugTypedef = 7,
-    OpenCLDebugInfo100DebugTypeFunction = 8,
-    OpenCLDebugInfo100DebugTypeEnum = 9,
-    OpenCLDebugInfo100DebugTypeComposite = 10,
-    OpenCLDebugInfo100DebugTypeMember = 11,
-    OpenCLDebugInfo100DebugTypeInheritance = 12,
-    OpenCLDebugInfo100DebugTypePtrToMember = 13,
-    OpenCLDebugInfo100DebugTypeTemplate = 14,
-    OpenCLDebugInfo100DebugTypeTemplateParameter = 15,
-    OpenCLDebugInfo100DebugTypeTemplateTemplateParameter = 16,
-    OpenCLDebugInfo100DebugTypeTemplateParameterPack = 17,
-    OpenCLDebugInfo100DebugGlobalVariable = 18,
-    OpenCLDebugInfo100DebugFunctionDeclaration = 19,
-    OpenCLDebugInfo100DebugFunction = 20,
-    OpenCLDebugInfo100DebugLexicalBlock = 21,
-    OpenCLDebugInfo100DebugLexicalBlockDiscriminator = 22,
-    OpenCLDebugInfo100DebugScope = 23,
-    OpenCLDebugInfo100DebugNoScope = 24,
-    OpenCLDebugInfo100DebugInlinedAt = 25,
-    OpenCLDebugInfo100DebugLocalVariable = 26,
-    OpenCLDebugInfo100DebugInlinedVariable = 27,
-    OpenCLDebugInfo100DebugDeclare = 28,
-    OpenCLDebugInfo100DebugValue = 29,
-    OpenCLDebugInfo100DebugOperation = 30,
-    OpenCLDebugInfo100DebugExpression = 31,
-    OpenCLDebugInfo100DebugMacroDef = 32,
-    OpenCLDebugInfo100DebugMacroUndef = 33,
-    OpenCLDebugInfo100DebugImportedEntity = 34,
-    OpenCLDebugInfo100DebugSource = 35,
-    OpenCLDebugInfo100InstructionsMax = 0x7fffffff
-};
-
-
-enum OpenCLDebugInfo100DebugInfoFlags {
-    OpenCLDebugInfo100FlagIsProtected = 0x01,
-    OpenCLDebugInfo100FlagIsPrivate = 0x02,
-    OpenCLDebugInfo100FlagIsPublic = 0x03,
-    OpenCLDebugInfo100FlagIsLocal = 0x04,
-    OpenCLDebugInfo100FlagIsDefinition = 0x08,
-    OpenCLDebugInfo100FlagFwdDecl = 0x10,
-    OpenCLDebugInfo100FlagArtificial = 0x20,
-    OpenCLDebugInfo100FlagExplicit = 0x40,
-    OpenCLDebugInfo100FlagPrototyped = 0x80,
-    OpenCLDebugInfo100FlagObjectPointer = 0x100,
-    OpenCLDebugInfo100FlagStaticMember = 0x200,
-    OpenCLDebugInfo100FlagIndirectVariable = 0x400,
-    OpenCLDebugInfo100FlagLValueReference = 0x800,
-    OpenCLDebugInfo100FlagRValueReference = 0x1000,
-    OpenCLDebugInfo100FlagIsOptimized = 0x2000,
-    OpenCLDebugInfo100FlagIsEnumClass = 0x4000,
-    OpenCLDebugInfo100FlagTypePassByValue = 0x8000,
-    OpenCLDebugInfo100FlagTypePassByReference = 0x10000,
-    OpenCLDebugInfo100DebugInfoFlagsMax = 0x7fffffff
-};
-
-enum OpenCLDebugInfo100DebugBaseTypeAttributeEncoding {
-    OpenCLDebugInfo100Unspecified = 0,
-    OpenCLDebugInfo100Address = 1,
-    OpenCLDebugInfo100Boolean = 2,
-    OpenCLDebugInfo100Float = 3,
-    OpenCLDebugInfo100Signed = 4,
-    OpenCLDebugInfo100SignedChar = 5,
-    OpenCLDebugInfo100Unsigned = 6,
-    OpenCLDebugInfo100UnsignedChar = 7,
-    OpenCLDebugInfo100DebugBaseTypeAttributeEncodingMax = 0x7fffffff
-};
-
-enum OpenCLDebugInfo100DebugCompositeType {
-    OpenCLDebugInfo100Class = 0,
-    OpenCLDebugInfo100Structure = 1,
-    OpenCLDebugInfo100Union = 2,
-    OpenCLDebugInfo100DebugCompositeTypeMax = 0x7fffffff
-};
-
-enum OpenCLDebugInfo100DebugTypeQualifier {
-    OpenCLDebugInfo100ConstType = 0,
-    OpenCLDebugInfo100VolatileType = 1,
-    OpenCLDebugInfo100RestrictType = 2,
-    OpenCLDebugInfo100AtomicType = 3,
-    OpenCLDebugInfo100DebugTypeQualifierMax = 0x7fffffff
-};
-
-enum OpenCLDebugInfo100DebugOperation {
-    OpenCLDebugInfo100Deref = 0,
-    OpenCLDebugInfo100Plus = 1,
-    OpenCLDebugInfo100Minus = 2,
-    OpenCLDebugInfo100PlusUconst = 3,
-    OpenCLDebugInfo100BitPiece = 4,
-    OpenCLDebugInfo100Swap = 5,
-    OpenCLDebugInfo100Xderef = 6,
-    OpenCLDebugInfo100StackValue = 7,
-    OpenCLDebugInfo100Constu = 8,
-    OpenCLDebugInfo100Fragment = 9,
-    OpenCLDebugInfo100DebugOperationMax = 0x7fffffff
-};
-
-enum OpenCLDebugInfo100DebugImportedEntity {
-    OpenCLDebugInfo100ImportedModule = 0,
-    OpenCLDebugInfo100ImportedDeclaration = 1,
-    OpenCLDebugInfo100DebugImportedEntityMax = 0x7fffffff
-};
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // SPIRV_UNIFIED1_OpenCLDebugInfo100_H_
diff --git a/include/spirv/unified1/extinst.debuginfo.grammar.json b/include/spirv/unified1/extinst.debuginfo.grammar.json
deleted file mode 100644
index 9212f6f..0000000
--- a/include/spirv/unified1/extinst.debuginfo.grammar.json
+++ /dev/null
@@ -1,568 +0,0 @@
-{
-  "copyright" : [
-    "Copyright (c) 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\"),",
-    "to deal in the Materials without restriction, including without limitation",
-    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
-    "and/or sell copies of the Materials, and to permit persons to whom the",
-    "Materials are furnished to do so, subject to the following conditions:",
-    "",
-    "The above copyright notice and this permission notice shall be included in",
-    "all copies or substantial portions of the Materials.",
-    "",
-    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
-    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
-    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
-    "",
-    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
-    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
-    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
-    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
-    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
-    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
-    "IN THE MATERIALS."
-  ],
-  "version" : 100,
-  "revision" : 1,
-  "instructions" : [
-    {
-      "opname" : "DebugInfoNone",
-      "opcode" : 0
-    },
-    {
-      "opname" : "DebugCompilationUnit",
-      "opcode" : 1,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Version'" },
-        { "kind" : "LiteralInteger", "name" : "'DWARF Version'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeBasic",
-      "opcode" : 2,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Size'" },
-        { "kind" : "DebugBaseTypeAttributeEncoding", "name" : "'Encoding'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypePointer",
-      "opcode" : 3,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Base Type'" },
-        { "kind" : "StorageClass", "name" : "'Storage Class'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Literal Flags'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeQualifier",
-      "opcode" : 4,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Base Type'" },
-        { "kind" : "DebugTypeQualifier", "name" : "'Type Qualifier'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeArray",
-      "opcode" : 5,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Base Type'" },
-        { "kind" : "IdRef", "name" : "'Component Counts'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeVector",
-      "opcode" : 6,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Base Type'" },
-        { "kind" : "LiteralInteger", "name" : "'Component Count'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypedef",
-      "opcode" : 7,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Base Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeFunction",
-      "opcode" : 8,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Return Type'" },
-        { "kind" : "IdRef", "name" : "'Paramter Types'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeEnum",
-      "opcode" : 9,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Underlying Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Size'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeComposite",
-      "opcode" : 10,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "DebugCompositeType", "name" : "'Tag'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Size'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "IdRef", "name" : "'Members'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeMember",
-      "opcode" : 11,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Offset'" },
-        { "kind" : "IdRef", "name" : "'Size'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeInheritance",
-      "opcode" : 12,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Child'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Offset'" },
-        { "kind" : "IdRef", "name" : "'Size'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypePtrToMember",
-      "opcode" : 13,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Member Type'" },
-        { "kind" : "IdRef", "name" : "'Parent'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeTemplate",
-      "opcode" : 14,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Target'" },
-        { "kind" : "IdRef", "name" : "'Parameters'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeTemplateParameter",
-      "opcode" : 15,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Actual Type'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeTemplateTemplateParameter",
-      "opcode" : 16,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Template Name'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeTemplateParameterPack",
-      "opcode" : 17,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Template Parameters'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugGlobalVariable",
-      "opcode" : 18,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Linkage Name'" },
-        { "kind" : "IdRef", "name" : "'Variable'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "IdRef", "name" : "'Static Member Declaration'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugFunctionDeclaration",
-      "opcode" : 19,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Linkage Name'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" }
-      ]
-    },
-    {
-      "opname" : "DebugFunction",
-      "opcode" : 20,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Linkage Name'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "LiteralInteger", "name" : "'Scope Line'" },
-        { "kind" : "IdRef", "name" : "'Function'" },
-        { "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugLexicalBlock",
-      "opcode" : 21,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugLexicalBlockDiscriminator",
-      "opcode" : 22,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Scope'" },
-        { "kind" : "LiteralInteger", "name" : "'Discriminator'" },
-        { "kind" : "IdRef", "name" : "'Parent'" }
-      ]
-    },
-    {
-      "opname" : "DebugScope",
-      "opcode" : 23,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Scope'" },
-        { "kind" : "IdRef", "name" : "'Inlined At'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugNoScope",
-      "opcode" : 24
-    },
-    {
-      "opname" : "DebugInlinedAt",
-      "opcode" : 25,
-      "operands" : [
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "IdRef", "name" : "'Scope'" },
-        { "kind" : "IdRef", "name" : "'Inlined'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugLocalVariable",
-      "opcode" : 26,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "LiteralInteger", "name" : "'Arg Number'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugInlinedVariable",
-      "opcode" : 27,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Variable'" },
-        { "kind" : "IdRef", "name" : "'Inlined'" }
-      ]
-    },
-    {
-      "opname" : "DebugDeclare",
-      "opcode" : 28,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Local Variable'" },
-        { "kind" : "IdRef", "name" : "'Variable'" },
-        { "kind" : "IdRef", "name" : "'Expression'" }
-      ]
-    },
-    {
-      "opname" : "DebugValue",
-      "opcode" : 29,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Expression'" },
-        { "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugOperation",
-      "opcode" : 30,
-      "operands" : [
-        { "kind" : "DebugOperation", "name" : "'OpCode'" },
-        { "kind" : "LiteralInteger", "name" : "'Operands ...'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugExpression",
-      "opcode" : 31,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugMacroDef",
-      "opcode" : 32,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugMacroUndef",
-      "opcode" : 33,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "IdRef", "name" : "'Macro'" }
-      ]
-    }
-  ],
-  "operand_kinds" : [
-    {
-      "category" : "BitEnum",
-      "kind" : "DebugInfoFlags",
-      "enumerants" : [
-        {
-          "enumerant" : "FlagIsProtected",
-          "value" : "0x01"
-        },
-        {
-          "enumerant" : "FlagIsPrivate",
-          "value" : "0x02"
-        },
-        {
-          "enumerant" : "FlagIsPublic",
-          "value" : "0x03"
-        },
-        {
-          "enumerant" : "FlagIsLocal",
-          "value" : "0x04"
-        },
-        {
-          "enumerant" : "FlagIsDefinition",
-          "value" : "0x08"
-        },
-        {
-          "enumerant" : "FlagFwdDecl",
-          "value" : "0x10"
-        },
-        {
-          "enumerant" : "FlagArtificial",
-          "value" : "0x20"
-        },
-        {
-          "enumerant" : "FlagExplicit",
-          "value" : "0x40"
-        },
-        {
-          "enumerant" : "FlagPrototyped",
-          "value" : "0x80"
-        },
-        {
-          "enumerant" : "FlagObjectPointer",
-          "value" : "0x100"
-        },
-        {
-          "enumerant" : "FlagStaticMember",
-          "value" : "0x200"
-        },
-        {
-          "enumerant" : "FlagIndirectVariable",
-          "value" : "0x400"
-        },
-        {
-          "enumerant" : "FlagLValueReference",
-          "value" : "0x800"
-        },
-        {
-          "enumerant" : "FlagRValueReference",
-          "value" : "0x1000"
-        },
-        {
-          "enumerant" : "FlagIsOptimized",
-          "value" : "0x2000"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "DebugBaseTypeAttributeEncoding",
-      "enumerants" : [
-        {
-          "enumerant" : "Unspecified",
-          "value" : "0"
-        },
-        {
-          "enumerant" : "Address",
-          "value" : "1"
-        },
-        {
-          "enumerant" : "Boolean",
-          "value" : "2"
-        },
-        {
-          "enumerant" : "Float",
-          "value" : "4"
-        },
-        {
-          "enumerant" : "Signed",
-          "value" : "5"
-        },
-        {
-          "enumerant" : "SignedChar",
-          "value" : "6"
-        },
-        {
-          "enumerant" : "Unsigned",
-          "value" : "7"
-        },
-        {
-          "enumerant" : "UnsignedChar",
-          "value" : "8"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "DebugCompositeType",
-      "enumerants" : [
-        {
-          "enumerant" : "Class",
-          "value" : "0"
-        },
-        {
-          "enumerant" : "Structure",
-          "value" : "1"
-        },
-        {
-          "enumerant" : "Union",
-          "value" : "2"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "DebugTypeQualifier",
-      "enumerants" : [
-        {
-          "enumerant" : "ConstType",
-          "value" : "0"
-        },
-        {
-          "enumerant" : "VolatileType",
-          "value" : "1"
-        },
-        {
-          "enumerant" : "RestrictType",
-          "value" : "2"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "DebugOperation",
-      "enumerants" : [
-        {
-          "enumerant" : "Deref",
-          "value" : "0"
-        },
-        {
-          "enumerant" : "Plus",
-          "value" : "1"
-        },
-        {
-          "enumerant" : "Minus",
-          "value" : "2"
-        },
-        {
-          "enumerant" : "PlusUconst",
-          "value" : "3",
-          "parameters" : [
-             { "kind" : "LiteralInteger" }
-          ]
-        },
-        {
-          "enumerant" : "BitPiece",
-          "value" : "4",
-          "parameters" : [
-             { "kind" : "LiteralInteger" },
-             { "kind" : "LiteralInteger" }
-          ]
-        },
-        {
-          "enumerant" : "Swap",
-          "value" : "5"
-        },
-        {
-          "enumerant" : "Xderef",
-          "value" : "6"
-        },
-        {
-          "enumerant" : "StackValue",
-          "value" : "7"
-        },
-        {
-          "enumerant" : "Constu",
-          "value" : "8",
-          "parameters" : [
-             { "kind" : "LiteralInteger" }
-          ]
-        }
-      ]
-    }
-  ]
-}
diff --git a/include/spirv/unified1/extinst.glsl.std.450.grammar.json b/include/spirv/unified1/extinst.glsl.std.450.grammar.json
deleted file mode 100644
index 3d9f39e..0000000
--- a/include/spirv/unified1/extinst.glsl.std.450.grammar.json
+++ /dev/null
@@ -1,642 +0,0 @@
-{
-  "copyright" : [
-    "Copyright (c) 2014-2016 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\"),",
-    "to deal in the Materials without restriction, including without limitation",
-    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
-    "and/or sell copies of the Materials, and to permit persons to whom the",
-    "Materials are furnished to do so, subject to the following conditions:",
-    "",
-    "The above copyright notice and this permission notice shall be included in",
-    "all copies or substantial portions of the Materials.",
-    "",
-    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
-    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
-    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
-    "",
-    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
-    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
-    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
-    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
-    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
-    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
-    "IN THE MATERIALS."
-  ],
-  "version" : 100,
-  "revision" : 2,
-  "instructions" : [
-    {
-      "opname" : "Round",
-      "opcode" : 1,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "RoundEven",
-      "opcode" : 2,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Trunc",
-      "opcode" : 3,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "FAbs",
-      "opcode" : 4,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "SAbs",
-      "opcode" : 5,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "FSign",
-      "opcode" : 6,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "SSign",
-      "opcode" : 7,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Floor",
-      "opcode" : 8,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Ceil",
-      "opcode" : 9,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Fract",
-      "opcode" : 10,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Radians",
-      "opcode" : 11,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'degrees'" }
-      ]
-    },
-    {
-      "opname" : "Degrees",
-      "opcode" : 12,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'radians'" }
-      ]
-    },
-    {
-      "opname" : "Sin",
-      "opcode" : 13,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Cos",
-      "opcode" : 14,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Tan",
-      "opcode" : 15,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Asin",
-      "opcode" : 16,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Acos",
-      "opcode" : 17,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Atan",
-      "opcode" : 18,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'y_over_x'" }
-      ]
-    },
-    {
-      "opname" : "Sinh",
-      "opcode" : 19,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Cosh",
-      "opcode" : 20,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Tanh",
-      "opcode" : 21,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Asinh",
-      "opcode" : 22,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Acosh",
-      "opcode" : 23,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Atanh",
-      "opcode" : 24,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Atan2",
-      "opcode" : 25,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Pow",
-      "opcode" : 26,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "Exp",
-      "opcode" : 27,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Log",
-      "opcode" : 28,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Exp2",
-      "opcode" : 29,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Log2",
-      "opcode" : 30,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Sqrt",
-      "opcode" : 31,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "InverseSqrt",
-      "opcode" : 32,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Determinant",
-      "opcode" : 33,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "MatrixInverse",
-      "opcode" : 34,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Modf",
-      "opcode" : 35,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'i'" }
-      ]
-    },
-    {
-      "opname" : "ModfStruct",
-      "opcode" : 36,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "FMin",
-      "opcode" : 37,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "UMin",
-      "opcode" : 38,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "SMin",
-      "opcode" : 39,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "FMax",
-      "opcode" : 40,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "UMax",
-      "opcode" : 41,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "SMax",
-      "opcode" : 42,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "FClamp",
-      "opcode" : 43,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'minVal'" },
-        { "kind" : "IdRef", "name" : "'maxVal'" }
-      ]
-    },
-    {
-      "opname" : "UClamp",
-      "opcode" : 44,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'minVal'" },
-        { "kind" : "IdRef", "name" : "'maxVal'" }
-      ]
-    },
-    {
-      "opname" : "SClamp",
-      "opcode" : 45,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'minVal'" },
-        { "kind" : "IdRef", "name" : "'maxVal'" }
-      ]
-    },
-    {
-      "opname" : "FMix",
-      "opcode" : 46,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'a'" }
-      ]
-    },
-    {
-      "opname" : "IMix",
-      "opcode" : 47,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'a'" }
-      ]
-    },
-    {
-      "opname" : "Step",
-      "opcode" : 48,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'edge'" },
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "SmoothStep",
-      "opcode" : 49,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'edge0'" },
-        { "kind" : "IdRef", "name" : "'edge1'" },
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Fma",
-      "opcode" : 50,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'a'" },
-        { "kind" : "IdRef", "name" : "'b'" },
-        { "kind" : "IdRef", "name" : "'c'" }
-      ]
-    },
-    {
-      "opname" : "Frexp",
-      "opcode" : 51,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'exp'" }
-      ]
-    },
-    {
-      "opname" : "FrexpStruct",
-      "opcode" : 52,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Ldexp",
-      "opcode" : 53,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'exp'" }
-      ]
-    },
-    {
-      "opname" : "PackSnorm4x8",
-      "opcode" : 54,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'v'" }
-      ]
-    },
-    {
-      "opname" : "PackUnorm4x8",
-      "opcode" : 55,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'v'" }
-      ]
-    },
-    {
-      "opname" : "PackSnorm2x16",
-      "opcode" : 56,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'v'" }
-      ]
-    },
-    {
-      "opname" : "PackUnorm2x16",
-      "opcode" : 57,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'v'" }
-      ]
-    },
-    {
-      "opname" : "PackHalf2x16",
-      "opcode" : 58,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'v'" }
-      ]
-    },
-    {
-      "opname" : "PackDouble2x32",
-      "opcode" : 59,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'v'" }
-      ],
-      "capabilities" : [ "Float64" ]
-    },
-    {
-      "opname" : "UnpackSnorm2x16",
-      "opcode" : 60,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "UnpackUnorm2x16",
-      "opcode" : 61,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "UnpackHalf2x16",
-      "opcode" : 62,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'v'" }
-      ]
-    },
-    {
-      "opname" : "UnpackSnorm4x8",
-      "opcode" : 63,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "UnpackUnorm4x8",
-      "opcode" : 64,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "UnpackDouble2x32",
-      "opcode" : 65,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'v'" }
-      ],
-      "capabilities" : [ "Float64" ]
-    },
-    {
-      "opname" : "Length",
-      "opcode" : 66,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "Distance",
-      "opcode" : 67,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p0'" },
-        { "kind" : "IdRef", "name" : "'p1'" }
-      ]
-    },
-    {
-      "opname" : "Cross",
-      "opcode" : 68,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "Normalize",
-      "opcode" : 69,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "FaceForward",
-      "opcode" : 70,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'N'" },
-        { "kind" : "IdRef", "name" : "'I'" },
-        { "kind" : "IdRef", "name" : "'Nref'" }
-      ]
-    },
-    {
-      "opname" : "Reflect",
-      "opcode" : 71,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'I'" },
-        { "kind" : "IdRef", "name" : "'N'" }
-      ]
-    },
-    {
-      "opname" : "Refract",
-      "opcode" : 72,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'I'" },
-        { "kind" : "IdRef", "name" : "'N'" },
-        { "kind" : "IdRef", "name" : "'eta'" }
-      ]
-    },
-    {
-      "opname" : "FindILsb",
-      "opcode" : 73,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "FindSMsb",
-      "opcode" : 74,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "FindUMsb",
-      "opcode" : 75,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "InterpolateAtCentroid",
-      "opcode" : 76,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'interpolant'" }
-      ],
-      "capabilities" : [ "InterpolationFunction" ]
-    },
-    {
-      "opname" : "InterpolateAtSample",
-      "opcode" : 77,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'interpolant'" },
-        { "kind" : "IdRef", "name" : "'sample'" }
-      ],
-      "capabilities" : [ "InterpolationFunction" ]
-    },
-    {
-      "opname" : "InterpolateAtOffset",
-      "opcode" : 78,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'interpolant'" },
-        { "kind" : "IdRef", "name" : "'offset'" }
-      ],
-      "capabilities" : [ "InterpolationFunction" ]
-    },
-    {
-      "opname" : "NMin",
-      "opcode" : 79,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "NMax",
-      "opcode" : 80,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "NClamp",
-      "opcode" : 81,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'minVal'" },
-        { "kind" : "IdRef", "name" : "'maxVal'" }
-      ]
-    }
-  ]
-}
diff --git a/include/spirv/unified1/extinst.nonsemantic.debugprintf.grammar.json b/include/spirv/unified1/extinst.nonsemantic.debugprintf.grammar.json
deleted file mode 100644
index 71fa711..0000000
--- a/include/spirv/unified1/extinst.nonsemantic.debugprintf.grammar.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "revision" : 1,
-  "instructions" : [
-    {
-      "opname" : "DebugPrintf",
-      "opcode" : 1,
-      "operands" : [
-        { "kind" : "IdRef",        "name" : "'Format'" },
-        { "kind" : "IdRef",        "quantifier" : "*" }
-      ]
-    }
-  ]
-}
diff --git a/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json b/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json
deleted file mode 100644
index 08062be..0000000
--- a/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json
+++ /dev/null
@@ -1,632 +0,0 @@
-{
-  "copyright" : [
-    "Copyright (c) 2018 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\"),",
-    "to deal in the Materials without restriction, including without limitation",
-    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
-    "and/or sell copies of the Materials, and to permit persons to whom the",
-    "Materials are furnished to do so, subject to the following conditions:",
-    "",
-    "The above copyright notice and this permission notice shall be included in",
-    "all copies or substantial portions of the Materials.",
-    "",
-    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
-    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
-    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
-    "",
-    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
-    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
-    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
-    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
-    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
-    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
-    "IN THE MATERIALS."
-  ],
-  "version" : 200,
-  "revision" : 2,
-  "instructions" : [
-    {
-      "opname" : "DebugInfoNone",
-      "opcode" : 0
-    },
-    {
-      "opname" : "DebugCompilationUnit",
-      "opcode" : 1,
-      "operands" : [
-        { "kind" : "LiteralInteger", "name" : "'Version'" },
-        { "kind" : "LiteralInteger", "name" : "'DWARF Version'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "SourceLanguage", "name" : "'Language'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeBasic",
-      "opcode" : 2,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Size'" },
-        { "kind" : "DebugBaseTypeAttributeEncoding", "name" : "'Encoding'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypePointer",
-      "opcode" : 3,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Base Type'" },
-        { "kind" : "StorageClass", "name" : "'Storage Class'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeQualifier",
-      "opcode" : 4,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Base Type'" },
-        { "kind" : "DebugTypeQualifier", "name" : "'Type Qualifier'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeArray",
-      "opcode" : 5,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Base Type'" },
-        { "kind" : "IdRef", "name" : "'Component Counts'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeVector",
-      "opcode" : 6,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Base Type'" },
-        { "kind" : "LiteralInteger", "name" : "'Component Count'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypedef",
-      "opcode" : 7,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Base Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeFunction",
-      "opcode" : 8,
-      "operands" : [
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "IdRef", "name" : "'Return Type'" },
-        { "kind" : "IdRef", "name" : "'Parameter Types'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeEnum",
-      "opcode" : 9,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Underlying Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Size'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeComposite",
-      "opcode" : 10,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "DebugCompositeType", "name" : "'Tag'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Linkage Name'" },
-        { "kind" : "IdRef", "name" : "'Size'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "IdRef", "name" : "'Members'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeMember",
-      "opcode" : 11,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Offset'" },
-        { "kind" : "IdRef", "name" : "'Size'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeInheritance",
-      "opcode" : 12,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Child'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Offset'" },
-        { "kind" : "IdRef", "name" : "'Size'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypePtrToMember",
-      "opcode" : 13,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Member Type'" },
-        { "kind" : "IdRef", "name" : "'Parent'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeTemplate",
-      "opcode" : 14,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Target'" },
-        { "kind" : "IdRef", "name" : "'Parameters'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeTemplateParameter",
-      "opcode" : 15,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Actual Type'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeTemplateTemplateParameter",
-      "opcode" : 16,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Template Name'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" }
-      ]
-    },
-    {
-      "opname" : "DebugTypeTemplateParameterPack",
-      "opcode" : 17,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Template Parameters'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugGlobalVariable",
-      "opcode" : 18,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Linkage Name'" },
-        { "kind" : "IdRef", "name" : "'Variable'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "IdRef", "name" : "'Static Member Declaration'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugFunctionDeclaration",
-      "opcode" : 19,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Linkage Name'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" }
-      ]
-    },
-    {
-      "opname" : "DebugFunction",
-      "opcode" : 20,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Linkage Name'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "LiteralInteger", "name" : "'Scope Line'" },
-        { "kind" : "IdRef", "name" : "'Function'" },
-        { "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugLexicalBlock",
-      "opcode" : 21,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugLexicalBlockDiscriminator",
-      "opcode" : 22,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Discriminator'" },
-        { "kind" : "IdRef", "name" : "'Parent'" }
-      ]
-    },
-    {
-      "opname" : "DebugScope",
-      "opcode" : 23,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Scope'" },
-        { "kind" : "IdRef", "name" : "'Inlined At'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugNoScope",
-      "opcode" : 24
-    },
-    {
-      "opname" : "DebugInlinedAt",
-      "opcode" : 25,
-      "operands" : [
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "IdRef", "name" : "'Scope'" },
-        { "kind" : "IdRef", "name" : "'Inlined'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugLocalVariable",
-      "opcode" : 26,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Type'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" },
-        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
-        { "kind" : "LiteralInteger", "name" : "'Arg Number'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugInlinedVariable",
-      "opcode" : 27,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Variable'" },
-        { "kind" : "IdRef", "name" : "'Inlined'" }
-      ]
-    },
-    {
-      "opname" : "DebugDeclare",
-      "opcode" : 28,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Local Variable'" },
-        { "kind" : "IdRef", "name" : "'Variable'" },
-        { "kind" : "IdRef", "name" : "'Expression'" }
-      ]
-    },
-    {
-      "opname" : "DebugValue",
-      "opcode" : 29,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Local Variable'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Expression'" },
-        { "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugOperation",
-      "opcode" : 30,
-      "operands" : [
-        { "kind" : "DebugOperation", "name" : "'OpCode'" },
-        { "kind" : "LiteralInteger", "name" : "'Operands ...'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugExpression",
-      "opcode" : 31,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "DebugMacroDef",
-      "opcode" : 32,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "DebugMacroUndef",
-      "opcode" : 33,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "IdRef", "name" : "'Macro'" }
-      ]
-    },
-    {
-      "opname" : "DebugImportedEntity",
-      "opcode" : 34,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Name'" },
-        { "kind" : "DebugImportedEntity", "name" : "'Tag'" },
-        { "kind" : "IdRef", "name" : "'Source'" },
-        { "kind" : "IdRef", "name" : "'Entity'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" },
-        { "kind" : "IdRef", "name" : "'Parent'" }
-      ]
-    },
-    {
-      "opname" : "DebugSource",
-      "opcode" : 35,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'File'" },
-        { "kind" : "IdRef", "name" : "'Text'", "quantifier" : "?" }
-      ]
-    }
-  ],
-  "operand_kinds" : [
-    {
-      "category" : "BitEnum",
-      "kind" : "DebugInfoFlags",
-      "enumerants" : [
-        {
-          "enumerant" : "FlagIsProtected",
-          "value" : "0x01"
-        },
-        {
-          "enumerant" : "FlagIsPrivate",
-          "value" : "0x02"
-        },
-        {
-          "enumerant" : "FlagIsPublic",
-          "value" : "0x03"
-        },
-        {
-          "enumerant" : "FlagIsLocal",
-          "value" : "0x04"
-        },
-        {
-          "enumerant" : "FlagIsDefinition",
-          "value" : "0x08"
-        },
-        {
-          "enumerant" : "FlagFwdDecl",
-          "value" : "0x10"
-        },
-        {
-          "enumerant" : "FlagArtificial",
-          "value" : "0x20"
-        },
-        {
-          "enumerant" : "FlagExplicit",
-          "value" : "0x40"
-        },
-        {
-          "enumerant" : "FlagPrototyped",
-          "value" : "0x80"
-        },
-        {
-          "enumerant" : "FlagObjectPointer",
-          "value" : "0x100"
-        },
-        {
-          "enumerant" : "FlagStaticMember",
-          "value" : "0x200"
-        },
-        {
-          "enumerant" : "FlagIndirectVariable",
-          "value" : "0x400"
-        },
-        {
-          "enumerant" : "FlagLValueReference",
-          "value" : "0x800"
-        },
-        {
-          "enumerant" : "FlagRValueReference",
-          "value" : "0x1000"
-        },
-        {
-          "enumerant" : "FlagIsOptimized",
-          "value" : "0x2000"
-        },
-        {
-          "enumerant" : "FlagIsEnumClass",
-          "value" : "0x4000"
-        },
-        {
-          "enumerant" : "FlagTypePassByValue",
-          "value" : "0x8000"
-        },
-        {
-          "enumerant" : "FlagTypePassByReference",
-          "value" : "0x10000"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "DebugBaseTypeAttributeEncoding",
-      "enumerants" : [
-        {
-          "enumerant" : "Unspecified",
-          "value" : "0"
-        },
-        {
-          "enumerant" : "Address",
-          "value" : "1"
-        },
-        {
-          "enumerant" : "Boolean",
-          "value" : "2"
-        },
-        {
-          "enumerant" : "Float",
-          "value" : "3"
-        },
-        {
-          "enumerant" : "Signed",
-          "value" : "4"
-        },
-        {
-          "enumerant" : "SignedChar",
-          "value" : "5"
-        },
-        {
-          "enumerant" : "Unsigned",
-          "value" : "6"
-        },
-        {
-          "enumerant" : "UnsignedChar",
-          "value" : "7"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "DebugCompositeType",
-      "enumerants" : [
-        {
-          "enumerant" : "Class",
-          "value" : "0"
-        },
-        {
-          "enumerant" : "Structure",
-          "value" : "1"
-        },
-        {
-          "enumerant" : "Union",
-          "value" : "2"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "DebugTypeQualifier",
-      "enumerants" : [
-        {
-          "enumerant" : "ConstType",
-          "value" : "0"
-        },
-        {
-          "enumerant" : "VolatileType",
-          "value" : "1"
-        },
-        {
-          "enumerant" : "RestrictType",
-          "value" : "2"
-        },
-        {
-          "enumerant" : "AtomicType",
-          "value" : "3"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "DebugOperation",
-      "enumerants" : [
-        {
-          "enumerant" : "Deref",
-          "value" : "0"
-        },
-        {
-          "enumerant" : "Plus",
-          "value" : "1"
-        },
-        {
-          "enumerant" : "Minus",
-          "value" : "2"
-        },
-        {
-          "enumerant" : "PlusUconst",
-          "value" : "3",
-          "parameters" : [
-             { "kind" : "LiteralInteger" }
-          ]
-        },
-        {
-          "enumerant" : "BitPiece",
-          "value" : "4",
-          "parameters" : [
-             { "kind" : "LiteralInteger" },
-             { "kind" : "LiteralInteger" }
-          ]
-        },
-        {
-          "enumerant" : "Swap",
-          "value" : "5"
-        },
-        {
-          "enumerant" : "Xderef",
-          "value" : "6"
-        },
-        {
-          "enumerant" : "StackValue",
-          "value" : "7"
-        },
-        {
-          "enumerant" : "Constu",
-          "value" : "8",
-          "parameters" : [
-             { "kind" : "LiteralInteger" }
-          ]
-        },
-        {
-          "enumerant" : "Fragment",
-          "value" : "9",
-          "parameters" : [
-             { "kind" : "LiteralInteger" },
-             { "kind" : "LiteralInteger" }
-          ]
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "DebugImportedEntity",
-      "enumerants" : [
-        {
-          "enumerant" : "ImportedModule",
-          "value" : "0"
-        },
-        {
-          "enumerant" : "ImportedDeclaration",
-          "value" : "1"
-	}
-      ]
-    }
-  ]
-}
diff --git a/include/spirv/unified1/extinst.opencl.std.100.grammar.json b/include/spirv/unified1/extinst.opencl.std.100.grammar.json
deleted file mode 100644
index 4fe4506..0000000
--- a/include/spirv/unified1/extinst.opencl.std.100.grammar.json
+++ /dev/null
@@ -1,1279 +0,0 @@
-{
-  "copyright" : [
-    "Copyright (c) 2014-2016 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\"),",
-    "to deal in the Materials without restriction, including without limitation",
-    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
-    "and/or sell copies of the Materials, and to permit persons to whom the",
-    "Materials are furnished to do so, subject to the following conditions:",
-    "",
-    "The above copyright notice and this permission notice shall be included in",
-    "all copies or substantial portions of the Materials.",
-    "",
-    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
-    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
-    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
-    "",
-    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
-    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
-    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
-    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
-    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
-    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
-    "IN THE MATERIALS."
-  ],
-  "version" : 100,
-  "revision" : 2,
-  "instructions" : [
-    {
-      "opname" : "acos",
-      "opcode" : 0,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "acosh",
-      "opcode" : 1,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "acospi",
-      "opcode" : 2,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "asin",
-      "opcode" : 3,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "asinh",
-      "opcode" : 4,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "asinpi",
-      "opcode" : 5,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "atan",
-      "opcode" : 6,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "atan2",
-      "opcode" : 7,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "atanh",
-      "opcode" : 8,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "atanpi",
-      "opcode" : 9,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "atan2pi",
-      "opcode" : 10,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "cbrt",
-      "opcode" : 11,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "ceil",
-      "opcode" : 12,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "copysign",
-      "opcode" : 13,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "cos",
-      "opcode" : 14,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "cosh",
-      "opcode" : 15,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "cospi",
-      "opcode" : 16,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "erfc",
-      "opcode" : 17,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "erf",
-      "opcode" : 18,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "exp",
-      "opcode" : 19,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "exp2",
-      "opcode" : 20,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "exp10",
-      "opcode" : 21,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "expm1",
-      "opcode" : 22,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "fabs",
-      "opcode" : 23,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "fdim",
-      "opcode" : 24,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "floor",
-      "opcode" : 25,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "fma",
-      "opcode" : 26,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'a'" },
-        { "kind" : "IdRef", "name" : "'b'" },
-        { "kind" : "IdRef", "name" : "'c'" }
-      ]
-    },
-    {
-      "opname" : "fmax",
-      "opcode" : 27,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "fmin",
-      "opcode" : 28,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "fmod",
-      "opcode" : 29,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "fract",
-      "opcode" : 30,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'ptr'" }
-      ]
-    },
-    {
-      "opname" : "frexp",
-      "opcode" : 31,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'exp'" }
-      ]
-    },
-    {
-      "opname" : "hypot",
-      "opcode" : 32,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "ilogb",
-      "opcode" : 33,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "ldexp",
-      "opcode" : 34,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'k'" }
-      ]
-    },
-    {
-      "opname" : "lgamma",
-      "opcode" : 35,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "lgamma_r",
-      "opcode" : 36,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'signp'" }
-      ]
-    },
-    {
-      "opname" : "log",
-      "opcode" : 37,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "log2",
-      "opcode" : 38,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "log10",
-      "opcode" : 39,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "log1p",
-      "opcode" : 40,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "logb",
-      "opcode" : 41,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "mad",
-      "opcode" : 42,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'a'" },
-        { "kind" : "IdRef", "name" : "'b'" },
-        { "kind" : "IdRef", "name" : "'c'" }
-      ]
-    },
-    {
-      "opname" : "maxmag",
-      "opcode" : 43,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "minmag",
-      "opcode" : 44,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "modf",
-      "opcode" : 45,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'iptr'" }
-      ]
-    },
-    {
-      "opname" : "nan",
-      "opcode" : 46,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'nancode'" }
-      ]
-    },
-    {
-      "opname" : "nextafter",
-      "opcode" : 47,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "pow",
-      "opcode" : 48,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y" }
-      ]
-    },
-    {
-      "opname" : "pown",
-      "opcode" : 49,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "powr",
-      "opcode" : 50,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "remainder",
-      "opcode" : 51,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "remquo",
-      "opcode" : 52,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'quo'" }
-      ]
-    },
-    {
-      "opname" : "rint",
-      "opcode" : 53,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "rootn",
-      "opcode" : 54,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "round",
-      "opcode" : 55,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "rsqrt",
-      "opcode" : 56,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "sin",
-      "opcode" : 57,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "sincos",
-      "opcode" : 58,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'cosval'" }
-      ]
-    },
-    {
-      "opname" : "sinh",
-      "opcode" : 59,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "sinpi",
-      "opcode" : 60,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "sqrt",
-      "opcode" : 61,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "tan",
-      "opcode" : 62,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "tanh",
-      "opcode" : 63,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "tanpi",
-      "opcode" : 64,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "tgamma",
-      "opcode" : 65,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "trunc",
-      "opcode" : 66,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_cos",
-      "opcode" : 67,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_divide",
-      "opcode" : 68,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "half_exp",
-      "opcode" : 69,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_exp2",
-      "opcode" : 70,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_exp10",
-      "opcode" : 71,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_log",
-      "opcode" : 72,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_log2",
-      "opcode" : 73,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_log10",
-      "opcode" : 74,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_powr",
-      "opcode" : 75,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "half_recip",
-      "opcode" : 76,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_rsqrt",
-      "opcode" : 77,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_sin",
-      "opcode" : 78,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_sqrt",
-      "opcode" : 79,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "half_tan",
-      "opcode" : 80,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_cos",
-      "opcode" : 81,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_divide",
-      "opcode" : 82,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "native_exp",
-      "opcode" : 83,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_exp2",
-      "opcode" : 84,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_exp10",
-      "opcode" : 85,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_log",
-      "opcode" : 86,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_log2",
-      "opcode" : 87,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_log10",
-      "opcode" : 88,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_powr",
-      "opcode" : 89,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "native_recip",
-      "opcode" : 90,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_rsqrt",
-      "opcode" : 91,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_sin",
-      "opcode" : 92,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_sqrt",
-      "opcode" : 93,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "native_tan",
-      "opcode" : 94,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "s_abs",
-      "opcode" : 141,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "s_abs_diff",
-      "opcode" : 142,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "s_add_sat",
-      "opcode" : 143,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "u_add_sat",
-      "opcode" : 144,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "s_hadd",
-      "opcode" : 145,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "u_hadd",
-      "opcode" : 146,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "s_rhadd",
-      "opcode" : 147,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "u_rhadd",
-      "opcode" : 148,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "s_clamp",
-      "opcode" : 149,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'minval'" },
-        { "kind" : "IdRef", "name" : "'maxval'" }
-      ]
-    },
-    {
-      "opname" : "u_clamp",
-      "opcode" : 150,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'minval'" },
-        { "kind" : "IdRef", "name" : "'maxval'" }
-      ]
-    },
-    {
-      "opname" : "clz",
-      "opcode" : 151,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "ctz",
-      "opcode" : 152,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "s_mad_hi",
-      "opcode" : 153,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'a'" },
-        { "kind" : "IdRef", "name" : "'b'" },
-        { "kind" : "IdRef", "name" : "'c'" }
-      ]
-    },
-    {
-      "opname" : "u_mad_sat",
-      "opcode" : 154,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ]
-    },
-    {
-      "opname" : "s_mad_sat",
-      "opcode" : 155,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ]
-    },
-    {
-      "opname" : "s_max",
-      "opcode" : 156,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "u_max",
-      "opcode" : 157,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "s_min",
-      "opcode" : 158,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "u_min",
-      "opcode" : 159,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "s_mul_hi",
-      "opcode" : 160,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "rotate",
-      "opcode" : 161,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'v'" },
-        { "kind" : "IdRef", "name" : "'i'" }
-      ]
-    },
-    {
-      "opname" : "s_sub_sat",
-      "opcode" : 162,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "u_sub_sat",
-      "opcode" : 163,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "u_upsample",
-      "opcode" : 164,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'hi'" },
-        { "kind" : "IdRef", "name" : "'lo'" }
-      ]
-    },
-    {
-      "opname" : "s_upsample",
-      "opcode" : 165,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'hi'" },
-        { "kind" : "IdRef", "name" : "'lo'" }
-      ]
-    },
-    {
-      "opname" : "popcount",
-      "opcode" : 166,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "s_mad24",
-      "opcode" : 167,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ]
-    },
-    {
-      "opname" : "u_mad24",
-      "opcode" : 168,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ]
-    },
-    {
-      "opname" : "s_mul24",
-      "opcode" : 169,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "u_mul24",
-      "opcode" : 170,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "u_abs",
-      "opcode" : 201,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "u_abs_diff",
-      "opcode" : 202,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "u_mul_hi",
-      "opcode" : 203,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "u_mad_hi",
-      "opcode" : 204,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'a'" },
-        { "kind" : "IdRef", "name" : "'b'" },
-        { "kind" : "IdRef", "name" : "'c'" }
-      ]
-    },
-    {
-      "opname" : "fclamp",
-      "opcode" : 95,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'minval'" },
-        { "kind" : "IdRef", "name" : "'maxval'" }
-      ]
-    },
-    {
-      "opname" : "degrees",
-      "opcode" :96,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'radians'" }
-      ]
-    },
-    {
-      "opname" : "fmax_common",
-      "opcode" : 97,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "fmin_common",
-      "opcode" : 98,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" }
-      ]
-    },
-    {
-      "opname" : "mix",
-      "opcode" : 99,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'a'" }
-      ]
-    },
-    {
-      "opname" : "radians",
-      "opcode" : 100,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'degrees'" }
-      ]
-    },
-    {
-      "opname" : "step",
-      "opcode" : 101,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'edge'" },
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "smoothstep",
-      "opcode" : 102,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'edge0'" },
-        { "kind" : "IdRef", "name" : "'edge1'" },
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "sign",
-      "opcode" : 103,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "cross",
-      "opcode" : 104,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p0'" },
-        { "kind" : "IdRef", "name" : "'p1'" }
-      ]
-    },
-    {
-      "opname" : "distance",
-      "opcode" : 105,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p0'" },
-        { "kind" : "IdRef", "name" : "'p1'" }
-      ]
-    },
-    {
-      "opname" : "length",
-      "opcode" : 106,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "normalize",
-      "opcode" : 107,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "fast_distance",
-      "opcode" : 108,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p0'" },
-        { "kind" : "IdRef", "name" : "'p1'" }
-      ]
-    },
-    {
-      "opname" : "fast_length",
-      "opcode" : 109,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "fast_normalize",
-      "opcode" : 110,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "bitselect",
-      "opcode" : 186,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'a'" },
-        { "kind" : "IdRef", "name" : "'b'" },
-        { "kind" : "IdRef", "name" : "'c'" }
-      ]
-    },
-    {
-      "opname" : "select",
-      "opcode" : 187,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'a'" },
-        { "kind" : "IdRef", "name" : "'b'" },
-        { "kind" : "IdRef", "name" : "'c'" }
-      ]
-    },
-    {
-      "opname" : "vloadn",
-      "opcode" : 171,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'offset'" },
-        { "kind" : "IdRef",          "name" : "'p'" },
-        { "kind" : "LiteralInteger", "name" : "'n'" }
-      ]
-    },
-    {
-      "opname" : "vstoren",
-      "opcode" : 172,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'data'" },
-        { "kind" : "IdRef", "name" : "'offset'" },
-        { "kind" : "IdRef", "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "vload_half",
-      "opcode" : 173,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'offset'" },
-        { "kind" : "IdRef",          "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "vload_halfn",
-      "opcode" : 174,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'offset'" },
-        { "kind" : "IdRef",          "name" : "'p'" },
-        { "kind" : "LiteralInteger", "name" : "'n'" }
-      ]
-    },
-    {
-      "opname" : "vstore_half",
-      "opcode" : 175,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'data'" },
-        { "kind" : "IdRef", "name" : "'offset'" },
-        { "kind" : "IdRef", "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "vstore_half_r",
-      "opcode" : 176,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'data'" },
-        { "kind" : "IdRef",          "name" : "'offset'" },
-        { "kind" : "IdRef",          "name" : "'p'" },
-        { "kind" : "FPRoundingMode", "name" : "'mode'" }
-      ]
-    },
-    {
-      "opname" : "vstore_halfn",
-      "opcode" : 177,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'data'" },
-        { "kind" : "IdRef",          "name" : "'offset'" },
-        { "kind" : "IdRef",          "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "vstore_halfn_r",
-      "opcode" : 178,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'data'" },
-        { "kind" : "IdRef",          "name" : "'offset'" },
-        { "kind" : "IdRef",          "name" : "'p'" },
-        { "kind" : "FPRoundingMode", "name" : "'mode'" }
-      ]
-    },
-    {
-      "opname" : "vloada_halfn",
-      "opcode" : 179,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'offset'" },
-        { "kind" : "IdRef",          "name" : "'p'" },
-        { "kind" : "LiteralInteger", "name" : "'n'" }
-      ]
-    },
-    {
-      "opname" : "vstorea_halfn",
-      "opcode" : 180,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'data'" },
-        { "kind" : "IdRef", "name" : "'offset'" },
-        { "kind" : "IdRef", "name" : "'p'" }
-      ]
-    },
-    {
-      "opname" : "vstorea_halfn_r",
-      "opcode" : 181,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'data'" },
-        { "kind" : "IdRef",          "name" : "'offset'" },
-        { "kind" : "IdRef",          "name" : "'p'" },
-        { "kind" : "FPRoundingMode", "name" : "'mode'" }
-      ]
-    },
-    {
-      "opname" : "shuffle",
-      "opcode" : 182,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'shuffle mask'" }
-      ]
-    },
-    {
-      "opname" : "shuffle2",
-      "opcode" : 183,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'shuffle mask'" }
-      ]
-    },
-    {
-      "opname" : "printf",
-      "opcode" : 184,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'format'" },
-        { "kind" : "IdRef", "name" : "'additional arguments'", "quantifier" : "*" }
-      ]
-    },
-    {
-      "opname" : "prefetch",
-      "opcode" : 185,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'ptr'" },
-        { "kind" : "IdRef", "name" : "'num elements'" }
-      ]
-    }
-  ]
-}
diff --git a/include/spirv/unified1/extinst.spv-amd-gcn-shader.grammar.json b/include/spirv/unified1/extinst.spv-amd-gcn-shader.grammar.json
deleted file mode 100644
index e18251b..0000000
--- a/include/spirv/unified1/extinst.spv-amd-gcn-shader.grammar.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  "revision" : 2,
-  "instructions" : [
-    {
-      "opname" : "CubeFaceIndexAMD",
-      "opcode" : 1,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'P'" }
-      ],
-      "extensions" : [ "SPV_AMD_gcn_shader" ]
-    },
-    {
-      "opname" : "CubeFaceCoordAMD",
-      "opcode" : 2,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'P'" }
-      ],
-      "extensions" : [ "SPV_AMD_gcn_shader" ]
-    },
-    {
-      "opname" : "TimeAMD",
-      "opcode" : 3,
-      "extensions" : [ "SPV_AMD_gcn_shader" ]
-    }
-  ]
-}
diff --git a/include/spirv/unified1/extinst.spv-amd-shader-ballot.grammar.json b/include/spirv/unified1/extinst.spv-amd-shader-ballot.grammar.json
deleted file mode 100644
index 62a470e..0000000
--- a/include/spirv/unified1/extinst.spv-amd-shader-ballot.grammar.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-  "revision" : 5,
-  "instructions" : [
-    {
-      "opname" : "SwizzleInvocationsAMD",
-      "opcode" : 1,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'data'" },
-        { "kind" : "IdRef", "name" : "'offset'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ]
-    },
-    {
-      "opname" : "SwizzleInvocationsMaskedAMD",
-      "opcode" : 2,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'data'" },
-        { "kind" : "IdRef", "name" : "'mask'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ]
-    },
-    {
-      "opname" : "WriteInvocationAMD",
-      "opcode" : 3,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'inputValue'" },
-        { "kind" : "IdRef", "name" : "'writeValue'" },
-        { "kind" : "IdRef", "name" : "'invocationIndex'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ]
-    },
-    {
-      "opname" : "MbcntAMD",
-      "opcode" : 4,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'mask'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ]
-    }
-  ]
-}
diff --git a/include/spirv/unified1/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json b/include/spirv/unified1/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json
deleted file mode 100644
index e156b1b..0000000
--- a/include/spirv/unified1/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  "revision" : 4,
-  "instructions" : [
-    {
-      "opname" : "InterpolateAtVertexAMD",
-      "opcode" : 1,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'interpolant'" },
-        { "kind" : "IdRef", "name" : "'vertexIdx'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ]
-    }
-  ]
-}
diff --git a/include/spirv/unified1/extinst.spv-amd-shader-trinary-minmax.grammar.json b/include/spirv/unified1/extinst.spv-amd-shader-trinary-minmax.grammar.json
deleted file mode 100644
index c681976..0000000
--- a/include/spirv/unified1/extinst.spv-amd-shader-trinary-minmax.grammar.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
-  "revision" : 4,
-  "instructions" : [
-    {
-      "opname" : "FMin3AMD",
-      "opcode" : 1,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
-    },
-    {
-      "opname" : "UMin3AMD",
-      "opcode" : 2,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
-    },
-    {
-      "opname" : "SMin3AMD",
-      "opcode" : 3,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
-    },
-    {
-      "opname" : "FMax3AMD",
-      "opcode" : 4,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
-    },
-    {
-      "opname" : "UMax3AMD",
-      "opcode" : 5,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
-    },
-    {
-      "opname" : "SMax3AMD",
-      "opcode" : 6,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
-    },
-    {
-      "opname" : "FMid3AMD",
-      "opcode" : 7,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
-    },
-    {
-      "opname" : "UMid3AMD",
-      "opcode" : 8,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
-    },
-    {
-      "opname" : "SMid3AMD",
-      "opcode" : 9,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'x'" },
-        { "kind" : "IdRef", "name" : "'y'" },
-        { "kind" : "IdRef", "name" : "'z'" }
-      ],
-      "extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
-    }
-  ]
-}
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
deleted file mode 100644
index 41b9eb7..0000000
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ /dev/null
@@ -1,11306 +0,0 @@
-{
-  "copyright" : [
-    "Copyright (c) 2014-2020 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\"),",
-    "to deal in the Materials without restriction, including without limitation",
-    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
-    "and/or sell copies of the Materials, and to permit persons to whom the",
-    "Materials are furnished to do so, subject to the following conditions:",
-    "",
-    "The above copyright notice and this permission notice shall be included in",
-    "all copies or substantial portions of the Materials.",
-    "",
-    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
-    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
-    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
-    "",
-    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
-    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
-    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
-    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
-    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
-    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
-    "IN THE MATERIALS."
-  ],
-  "magic_number" : "0x07230203",
-  "major_version" : 1,
-  "minor_version" : 5,
-  "revision" : 3,
-  "instruction_printing_class" : [
-    {
-      "tag"     : "@exclude"
-    },
-    {
-      "tag"     : "Miscellaneous",
-      "heading" : "Miscellaneous Instructions"
-    },
-    {
-      "tag"     : "Debug",
-      "heading" : "Debug Instructions"
-    },
-    {
-      "tag"     : "Annotation",
-      "heading" : "Annotation Instructions"
-    },
-    {
-      "tag"     : "Extension",
-      "heading" : "Extension Instructions"
-    },
-    {
-      "tag"     : "Mode-Setting",
-      "heading" : "Mode-Setting Instructions"
-    },
-    {
-      "tag"     : "Type-Declaration",
-      "heading" : "Type-Declaration Instructions"
-    },
-    {
-      "tag"     : "Constant-Creation",
-      "heading" : "Constant-Creation Instructions"
-    },
-    {
-      "tag"     : "Memory",
-      "heading" : "Memory Instructions"
-    },
-    {
-      "tag"     : "Function",
-      "heading" : "Function Instructions"
-    },
-    {
-      "tag"     : "Image",
-      "heading" : "Image Instructions"
-    },
-    {
-      "tag"     : "Conversion",
-      "heading" : "Conversion Instructions"
-    },
-    {
-      "tag"     : "Composite",
-      "heading" : "Composite Instructions"
-    },
-    {
-      "tag"     : "Arithmetic",
-      "heading" : "Arithmetic Instructions"
-    },
-    {
-      "tag"     : "Bit",
-      "heading" : "Bit Instructions"
-    },
-    {
-      "tag"     : "Relational_and_Logical",
-      "heading" : "Relational and Logical Instructions"
-    },
-    {
-      "tag"     : "Derivative",
-      "heading" : "Derivative Instructions"
-    },
-    {
-      "tag"     : "Control-Flow",
-      "heading" : "Control-Flow Instructions"
-    },
-    {
-      "tag"     : "Atomic",
-      "heading" : "Atomic Instructions"
-    },
-    {
-      "tag"     : "Primitive",
-      "heading" : "Primitive Instructions"
-    },
-    {
-      "tag"     : "Barrier",
-      "heading" : "Barrier Instructions"
-    },
-    {
-      "tag"     : "Group",
-      "heading" : "Group and Subgroup Instructions"
-    },
-    {
-      "tag"     : "Device-Side_Enqueue",
-      "heading" : "Device-Side Enqueue Instructions"
-    },
-    {
-      "tag"     : "Pipe",
-      "heading" : "Pipe Instructions"
-    },
-    {
-      "tag"     : "Non-Uniform",
-      "heading" : "Non-Uniform Instructions"
-    },
-    {
-      "tag"     : "Reserved",
-      "heading" : "Reserved Instructions"
-    }
-  ],
-  "instructions" : [
-    {
-      "opname" : "OpNop",
-      "class"  : "Miscellaneous",
-      "opcode" : 0
-    },
-    {
-      "opname" : "OpUndef",
-      "class"  : "Miscellaneous",
-      "opcode" : 1,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpSourceContinued",
-      "class"  : "Debug",
-      "opcode" : 2,
-      "operands" : [
-        { "kind" : "LiteralString", "name" : "'Continued Source'" }
-      ]
-    },
-    {
-      "opname" : "OpSource",
-      "class"  : "Debug",
-      "opcode" : 3,
-      "operands" : [
-        { "kind" : "SourceLanguage" },
-        { "kind" : "LiteralInteger",                     "name" : "'Version'" },
-        { "kind" : "IdRef",          "quantifier" : "?", "name" : "'File'" },
-        { "kind" : "LiteralString",  "quantifier" : "?", "name" : "'Source'" }
-      ]
-    },
-    {
-      "opname" : "OpSourceExtension",
-      "class"  : "Debug",
-      "opcode" : 4,
-      "operands" : [
-        { "kind" : "LiteralString", "name" : "'Extension'" }
-      ]
-    },
-    {
-      "opname" : "OpName",
-      "class"  : "Debug",
-      "opcode" : 5,
-      "operands" : [
-        { "kind" : "IdRef",         "name" : "'Target'" },
-        { "kind" : "LiteralString", "name" : "'Name'" }
-      ]
-    },
-    {
-      "opname" : "OpMemberName",
-      "class"  : "Debug",
-      "opcode" : 6,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'Type'" },
-        { "kind" : "LiteralInteger", "name" : "'Member'" },
-        { "kind" : "LiteralString",  "name" : "'Name'" }
-      ]
-    },
-    {
-      "opname" : "OpString",
-      "class"  : "Debug",
-      "opcode" : 7,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "LiteralString", "name" : "'String'" }
-      ]
-    },
-    {
-      "opname" : "OpLine",
-      "class"  : "Debug",
-      "opcode" : 8,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'File'" },
-        { "kind" : "LiteralInteger", "name" : "'Line'" },
-        { "kind" : "LiteralInteger", "name" : "'Column'" }
-      ]
-    },
-    {
-      "opname" : "OpExtension",
-      "class"  : "Extension",
-      "opcode" : 10,
-      "operands" : [
-        { "kind" : "LiteralString", "name" : "'Name'" }
-      ]
-    },
-    {
-      "opname" : "OpExtInstImport",
-      "class"  : "Extension",
-      "opcode" : 11,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "LiteralString", "name" : "'Name'" }
-      ]
-    },
-    {
-      "opname" : "OpExtInst",
-      "class"  : "Extension",
-      "opcode" : 12,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                                     "name" : "'Set'" },
-        { "kind" : "LiteralExtInstInteger",                     "name" : "'Instruction'" },
-        { "kind" : "IdRef",                 "quantifier" : "*", "name" : "'Operand 1', +\n'Operand 2', +\n..." }
-      ]
-    },
-    {
-      "opname" : "OpMemoryModel",
-      "class"  : "Mode-Setting",
-      "opcode" : 14,
-      "operands" : [
-        { "kind" : "AddressingModel" },
-        { "kind" : "MemoryModel" }
-      ]
-    },
-    {
-      "opname" : "OpEntryPoint",
-      "class"  : "Mode-Setting",
-      "opcode" : 15,
-      "operands" : [
-        { "kind" : "ExecutionModel" },
-        { "kind" : "IdRef",                              "name" : "'Entry Point'" },
-        { "kind" : "LiteralString",                      "name" : "'Name'" },
-        { "kind" : "IdRef",          "quantifier" : "*", "name" : "'Interface'" }
-      ]
-    },
-    {
-      "opname" : "OpExecutionMode",
-      "class"  : "Mode-Setting",
-      "opcode" : 16,
-      "operands" : [
-        { "kind" : "IdRef",         "name" : "'Entry Point'" },
-        { "kind" : "ExecutionMode", "name" : "'Mode'" }
-      ]
-    },
-    {
-      "opname" : "OpCapability",
-      "class"  : "Mode-Setting",
-      "opcode" : 17,
-      "operands" : [
-        { "kind" : "Capability", "name" : "'Capability'" }
-      ]
-    },
-    {
-      "opname" : "OpTypeVoid",
-      "class"  : "Type-Declaration",
-      "opcode" : 19,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpTypeBool",
-      "class"  : "Type-Declaration",
-      "opcode" : 20,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpTypeInt",
-      "class"  : "Type-Declaration",
-      "opcode" : 21,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "LiteralInteger", "name" : "'Width'" },
-        { "kind" : "LiteralInteger", "name" : "'Signedness'" }
-      ]
-    },
-    {
-      "opname" : "OpTypeFloat",
-      "class"  : "Type-Declaration",
-      "opcode" : 22,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "LiteralInteger", "name" : "'Width'" }
-      ]
-    },
-    {
-      "opname" : "OpTypeVector",
-      "class"  : "Type-Declaration",
-      "opcode" : 23,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",          "name" : "'Component Type'" },
-        { "kind" : "LiteralInteger", "name" : "'Component Count'" }
-      ]
-    },
-    {
-      "opname" : "OpTypeMatrix",
-      "class"  : "Type-Declaration",
-      "opcode" : 24,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",          "name" : "'Column Type'" },
-        { "kind" : "LiteralInteger", "name" : "'Column Count'" }
-      ],
-      "capabilities" : [ "Matrix" ]
-    },
-    {
-      "opname" : "OpTypeImage",
-      "class"  : "Type-Declaration",
-      "opcode" : 25,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                               "name" : "'Sampled Type'" },
-        { "kind" : "Dim" },
-        { "kind" : "LiteralInteger",                      "name" : "'Depth'" },
-        { "kind" : "LiteralInteger",                      "name" : "'Arrayed'" },
-        { "kind" : "LiteralInteger",                      "name" : "'MS'" },
-        { "kind" : "LiteralInteger",                      "name" : "'Sampled'" },
-        { "kind" : "ImageFormat" },
-        { "kind" : "AccessQualifier", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "OpTypeSampler",
-      "class"  : "Type-Declaration",
-      "opcode" : 26,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpTypeSampledImage",
-      "class"  : "Type-Declaration",
-      "opcode" : 27,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",    "name" : "'Image Type'" }
-      ]
-    },
-    {
-      "opname" : "OpTypeArray",
-      "class"  : "Type-Declaration",
-      "opcode" : 28,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",    "name" : "'Element Type'" },
-        { "kind" : "IdRef",    "name" : "'Length'" }
-      ]
-    },
-    {
-      "opname" : "OpTypeRuntimeArray",
-      "class"  : "Type-Declaration",
-      "opcode" : 29,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",    "name" : "'Element Type'" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpTypeStruct",
-      "class"  : "Type-Declaration",
-      "opcode" : 30,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",    "quantifier" : "*", "name" : "'Member 0 type', +\n'member 1 type', +\n..." }
-      ]
-    },
-    {
-      "opname" : "OpTypeOpaque",
-      "class"  : "Type-Declaration",
-      "opcode" : 31,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "LiteralString", "name" : "The name of the opaque type." }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpTypePointer",
-      "class"  : "Type-Declaration",
-      "opcode" : 32,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "StorageClass" },
-        { "kind" : "IdRef",        "name" : "'Type'" }
-      ]
-    },
-    {
-      "opname" : "OpTypeFunction",
-      "class"  : "Type-Declaration",
-      "opcode" : 33,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                        "name" : "'Return Type'" },
-        { "kind" : "IdRef",    "quantifier" : "*", "name" : "'Parameter 0 Type', +\n'Parameter 1 Type', +\n..." }
-      ]
-    },
-    {
-      "opname" : "OpTypeEvent",
-      "class"  : "Type-Declaration",
-      "opcode" : 34,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpTypeDeviceEvent",
-      "class"  : "Type-Declaration",
-      "opcode" : 35,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpTypeReserveId",
-      "class"  : "Type-Declaration",
-      "opcode" : 36,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpTypeQueue",
-      "class"  : "Type-Declaration",
-      "opcode" : 37,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpTypePipe",
-      "class"  : "Type-Declaration",
-      "opcode" : 38,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "AccessQualifier", "name" : "'Qualifier'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpTypeForwardPointer",
-      "class"  : "Type-Declaration",
-      "opcode" : 39,
-      "operands" : [
-        { "kind" : "IdRef",        "name" : "'Pointer Type'" },
-        { "kind" : "StorageClass" }
-      ],
-      "capabilities" : [
-        "Addresses",
-        "PhysicalStorageBufferAddresses"
-      ]
-    },
-    {
-      "opname" : "OpConstantTrue",
-      "class"  : "Constant-Creation",
-      "opcode" : 41,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpConstantFalse",
-      "class"  : "Constant-Creation",
-      "opcode" : 42,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpConstant",
-      "class"  : "Constant-Creation",
-      "opcode" : 43,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpConstantComposite",
-      "class"  : "Constant-Creation",
-      "opcode" : 44,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
-      ]
-    },
-    {
-      "opname" : "OpConstantSampler",
-      "class"  : "Constant-Creation",
-      "opcode" : 45,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "SamplerAddressingMode" },
-        { "kind" : "LiteralInteger",        "name" : "'Param'" },
-        { "kind" : "SamplerFilterMode" }
-      ],
-      "capabilities" : [ "LiteralSampler" ]
-    },
-    {
-      "opname" : "OpConstantNull",
-      "class"  : "Constant-Creation",
-      "opcode" : 46,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpSpecConstantTrue",
-      "class"  : "Constant-Creation",
-      "opcode" : 48,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpSpecConstantFalse",
-      "class"  : "Constant-Creation",
-      "opcode" : 49,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpSpecConstant",
-      "class"  : "Constant-Creation",
-      "opcode" : 50,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpSpecConstantComposite",
-      "class"  : "Constant-Creation",
-      "opcode" : 51,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
-      ]
-    },
-    {
-      "opname" : "OpSpecConstantOp",
-      "class"  : "Constant-Creation",
-      "opcode" : 52,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "LiteralSpecConstantOpInteger", "name" : "'Opcode'" }
-      ]
-    },
-    {
-      "opname" : "OpFunction",
-      "class"  : "Function",
-      "opcode" : 54,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "FunctionControl" },
-        { "kind" : "IdRef",           "name" : "'Function Type'" }
-      ]
-    },
-    {
-      "opname" : "OpFunctionParameter",
-      "class"  : "Function",
-      "opcode" : 55,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpFunctionEnd",
-      "class"  : "Function",
-      "opcode" : 56
-    },
-    {
-      "opname" : "OpFunctionCall",
-      "class"  : "Function",
-      "opcode" : 57,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                            "name" : "'Function'" },
-        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Argument 0', +\n'Argument 1', +\n..." }
-      ]
-    },
-    {
-      "opname" : "OpVariable",
-      "class"  : "Memory",
-      "opcode" : 59,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "StorageClass" },
-        { "kind" : "IdRef",        "quantifier" : "?", "name" : "'Initializer'" }
-      ]
-    },
-    {
-      "opname" : "OpImageTexelPointer",
-      "class"  : "Memory",
-      "opcode" : 60,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Image'" },
-        { "kind" : "IdRef",        "name" : "'Coordinate'" },
-        { "kind" : "IdRef",        "name" : "'Sample'" }
-      ]
-    },
-    {
-      "opname" : "OpLoad",
-      "class"  : "Memory",
-      "opcode" : 61,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                            "name" : "'Pointer'" },
-        { "kind" : "MemoryAccess", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "OpStore",
-      "class"  : "Memory",
-      "opcode" : 62,
-      "operands" : [
-        { "kind" : "IdRef",                            "name" : "'Pointer'" },
-        { "kind" : "IdRef",                            "name" : "'Object'" },
-        { "kind" : "MemoryAccess", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "OpCopyMemory",
-      "class"  : "Memory",
-      "opcode" : 63,
-      "operands" : [
-        { "kind" : "IdRef",                            "name" : "'Target'" },
-        { "kind" : "IdRef",                            "name" : "'Source'" },
-        { "kind" : "MemoryAccess", "quantifier" : "?" },
-        { "kind" : "MemoryAccess", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "OpCopyMemorySized",
-      "class"  : "Memory",
-      "opcode" : 64,
-      "operands" : [
-        { "kind" : "IdRef",                            "name" : "'Target'" },
-        { "kind" : "IdRef",                            "name" : "'Source'" },
-        { "kind" : "IdRef",                            "name" : "'Size'" },
-        { "kind" : "MemoryAccess", "quantifier" : "?" },
-        { "kind" : "MemoryAccess", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "Addresses" ]
-    },
-    {
-      "opname" : "OpAccessChain",
-      "class"  : "Memory",
-      "opcode" : 65,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                            "name" : "'Base'" },
-        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
-      ]
-    },
-    {
-      "opname" : "OpInBoundsAccessChain",
-      "class"  : "Memory",
-      "opcode" : 66,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                            "name" : "'Base'" },
-        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
-      ]
-    },
-    {
-      "opname" : "OpPtrAccessChain",
-      "class"  : "Memory",
-      "opcode" : 67,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                            "name" : "'Base'" },
-        { "kind" : "IdRef",                            "name" : "'Element'" },
-        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
-      ],
-      "capabilities" : [
-        "Addresses",
-        "VariablePointers",
-        "VariablePointersStorageBuffer",
-        "PhysicalStorageBufferAddresses"
-      ]
-    },
-    {
-      "opname" : "OpArrayLength",
-      "class"  : "Memory",
-      "opcode" : 68,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",          "name" : "'Structure'" },
-        { "kind" : "LiteralInteger", "name" : "'Array member'" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpGenericPtrMemSemantics",
-      "class"  : "Memory",
-      "opcode" : 69,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pointer'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpInBoundsPtrAccessChain",
-      "class"  : "Memory",
-      "opcode" : 70,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                            "name" : "'Base'" },
-        { "kind" : "IdRef",                            "name" : "'Element'" },
-        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
-      ],
-      "capabilities" : [ "Addresses" ]
-    },
-    {
-      "opname" : "OpDecorate",
-      "class"  : "Annotation",
-      "opcode" : 71,
-      "operands" : [
-        { "kind" : "IdRef",      "name" : "'Target'" },
-        { "kind" : "Decoration" }
-      ]
-    },
-    {
-      "opname" : "OpMemberDecorate",
-      "class"  : "Annotation",
-      "opcode" : 72,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'Structure Type'" },
-        { "kind" : "LiteralInteger", "name" : "'Member'" },
-        { "kind" : "Decoration" }
-      ]
-    },
-    {
-      "opname" : "OpDecorationGroup",
-      "class"  : "Annotation",
-      "opcode" : 73,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpGroupDecorate",
-      "class"  : "Annotation",
-      "opcode" : 74,
-      "operands" : [
-        { "kind" : "IdRef",                     "name" : "'Decoration Group'" },
-        { "kind" : "IdRef", "quantifier" : "*", "name" : "'Targets'" }
-      ]
-    },
-    {
-      "opname" : "OpGroupMemberDecorate",
-      "class"  : "Annotation",
-      "opcode" : 75,
-      "operands" : [
-        { "kind" : "IdRef",                                       "name" : "'Decoration Group'" },
-        { "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "'Targets'" }
-      ]
-    },
-    {
-      "opname" : "OpVectorExtractDynamic",
-      "class"  : "Composite",
-      "opcode" : 77,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Vector'" },
-        { "kind" : "IdRef",        "name" : "'Index'" }
-      ]
-    },
-    {
-      "opname" : "OpVectorInsertDynamic",
-      "class"  : "Composite",
-      "opcode" : 78,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Vector'" },
-        { "kind" : "IdRef",        "name" : "'Component'" },
-        { "kind" : "IdRef",        "name" : "'Index'" }
-      ]
-    },
-    {
-      "opname" : "OpVectorShuffle",
-      "class"  : "Composite",
-      "opcode" : 79,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                              "name" : "'Vector 1'" },
-        { "kind" : "IdRef",                              "name" : "'Vector 2'" },
-        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Components'" }
-      ]
-    },
-    {
-      "opname" : "OpCompositeConstruct",
-      "class"  : "Composite",
-      "opcode" : 80,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
-      ]
-    },
-    {
-      "opname" : "OpCompositeExtract",
-      "class"  : "Composite",
-      "opcode" : 81,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                              "name" : "'Composite'" },
-        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
-      ]
-    },
-    {
-      "opname" : "OpCompositeInsert",
-      "class"  : "Composite",
-      "opcode" : 82,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                              "name" : "'Object'" },
-        { "kind" : "IdRef",                              "name" : "'Composite'" },
-        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
-      ]
-    },
-    {
-      "opname" : "OpCopyObject",
-      "class"  : "Composite",
-      "opcode" : 83,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand'" }
-      ]
-    },
-    {
-      "opname" : "OpTranspose",
-      "class"  : "Composite",
-      "opcode" : 84,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Matrix'" }
-      ],
-      "capabilities" : [ "Matrix" ]
-    },
-    {
-      "opname" : "OpSampledImage",
-      "class"  : "Image",
-      "opcode" : 86,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Image'" },
-        { "kind" : "IdRef",        "name" : "'Sampler'" }
-      ]
-    },
-    {
-      "opname" : "OpImageSampleImplicitLod",
-      "class"  : "Image",
-      "opcode" : 87,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpImageSampleExplicitLod",
-      "class"  : "Image",
-      "opcode" : 88,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",         "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands" }
-      ]
-    },
-    {
-      "opname" : "OpImageSampleDrefImplicitLod",
-      "class"  : "Image",
-      "opcode" : 89,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpImageSampleDrefExplicitLod",
-      "class"  : "Image",
-      "opcode" : 90,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",         "name" : "'Coordinate'" },
-        { "kind" : "IdRef",         "name" : "'D~ref~'" },
-        { "kind" : "ImageOperands" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpImageSampleProjImplicitLod",
-      "class"  : "Image",
-      "opcode" : 91,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpImageSampleProjExplicitLod",
-      "class"  : "Image",
-      "opcode" : 92,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",         "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpImageSampleProjDrefImplicitLod",
-      "class"  : "Image",
-      "opcode" : 93,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpImageSampleProjDrefExplicitLod",
-      "class"  : "Image",
-      "opcode" : 94,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",         "name" : "'Coordinate'" },
-        { "kind" : "IdRef",         "name" : "'D~ref~'" },
-        { "kind" : "ImageOperands" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpImageFetch",
-      "class"  : "Image",
-      "opcode" : 95,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "OpImageGather",
-      "class"  : "Image",
-      "opcode" : 96,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "IdRef",                             "name" : "'Component'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpImageDrefGather",
-      "class"  : "Image",
-      "opcode" : 97,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpImageRead",
-      "class"  : "Image",
-      "opcode" : 98,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "OpImageWrite",
-      "class"  : "Image",
-      "opcode" : 99,
-      "operands" : [
-        { "kind" : "IdRef",                             "name" : "'Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "IdRef",                             "name" : "'Texel'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ]
-    },
-    {
-      "opname" : "OpImage",
-      "class"  : "Image",
-      "opcode" : 100,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Sampled Image'" }
-      ]
-    },
-    {
-      "opname" : "OpImageQueryFormat",
-      "class"  : "Image",
-      "opcode" : 101,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Image'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpImageQueryOrder",
-      "class"  : "Image",
-      "opcode" : 102,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Image'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpImageQuerySizeLod",
-      "class"  : "Image",
-      "opcode" : 103,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Image'" },
-        { "kind" : "IdRef",        "name" : "'Level of Detail'" }
-      ],
-      "capabilities" : [ "Kernel", "ImageQuery" ]
-    },
-    {
-      "opname" : "OpImageQuerySize",
-      "class"  : "Image",
-      "opcode" : 104,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Image'" }
-      ],
-      "capabilities" : [ "Kernel", "ImageQuery" ]
-    },
-    {
-      "opname" : "OpImageQueryLod",
-      "class"  : "Image",
-      "opcode" : 105,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",        "name" : "'Coordinate'" }
-      ],
-      "capabilities" : [ "ImageQuery" ]
-    },
-    {
-      "opname" : "OpImageQueryLevels",
-      "class"  : "Image",
-      "opcode" : 106,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Image'" }
-      ],
-      "capabilities" : [ "Kernel", "ImageQuery" ]
-    },
-    {
-      "opname" : "OpImageQuerySamples",
-      "class"  : "Image",
-      "opcode" : 107,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Image'" }
-      ],
-      "capabilities" : [ "Kernel", "ImageQuery" ]
-    },
-    {
-      "opname" : "OpConvertFToU",
-      "class"  : "Conversion",
-      "opcode" : 109,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Float Value'" }
-      ]
-    },
-    {
-      "opname" : "OpConvertFToS",
-      "class"  : "Conversion",
-      "opcode" : 110,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Float Value'" }
-      ]
-    },
-    {
-      "opname" : "OpConvertSToF",
-      "class"  : "Conversion",
-      "opcode" : 111,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Signed Value'" }
-      ]
-    },
-    {
-      "opname" : "OpConvertUToF",
-      "class"  : "Conversion",
-      "opcode" : 112,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
-      ]
-    },
-    {
-      "opname" : "OpUConvert",
-      "class"  : "Conversion",
-      "opcode" : 113,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
-      ]
-    },
-    {
-      "opname" : "OpSConvert",
-      "class"  : "Conversion",
-      "opcode" : 114,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Signed Value'" }
-      ]
-    },
-    {
-      "opname" : "OpFConvert",
-      "class"  : "Conversion",
-      "opcode" : 115,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Float Value'" }
-      ]
-    },
-    {
-      "opname" : "OpQuantizeToF16",
-      "class"  : "Conversion",
-      "opcode" : 116,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpConvertPtrToU",
-      "class"  : "Conversion",
-      "opcode" : 117,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pointer'" }
-      ],
-      "capabilities" : [
-        "Addresses",
-        "PhysicalStorageBufferAddresses"
-      ]
-    },
-    {
-      "opname" : "OpSatConvertSToU",
-      "class"  : "Conversion",
-      "opcode" : 118,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Signed Value'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpSatConvertUToS",
-      "class"  : "Conversion",
-      "opcode" : 119,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpConvertUToPtr",
-      "class"  : "Conversion",
-      "opcode" : 120,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Integer Value'" }
-      ],
-      "capabilities" : [
-        "Addresses",
-        "PhysicalStorageBufferAddresses"
-      ]
-    },
-    {
-      "opname" : "OpPtrCastToGeneric",
-      "class"  : "Conversion",
-      "opcode" : 121,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pointer'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpGenericCastToPtr",
-      "class"  : "Conversion",
-      "opcode" : 122,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pointer'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpGenericCastToPtrExplicit",
-      "class"  : "Conversion",
-      "opcode" : 123,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pointer'" },
-        { "kind" : "StorageClass", "name" : "'Storage'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpBitcast",
-      "class"  : "Conversion",
-      "opcode" : 124,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand'" }
-      ]
-    },
-    {
-      "opname" : "OpSNegate",
-      "class"  : "Arithmetic",
-      "opcode" : 126,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand'" }
-      ]
-    },
-    {
-      "opname" : "OpFNegate",
-      "class"  : "Arithmetic",
-      "opcode" : 127,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand'" }
-      ]
-    },
-    {
-      "opname" : "OpIAdd",
-      "class"  : "Arithmetic",
-      "opcode" : 128,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFAdd",
-      "class"  : "Arithmetic",
-      "opcode" : 129,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpISub",
-      "class"  : "Arithmetic",
-      "opcode" : 130,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFSub",
-      "class"  : "Arithmetic",
-      "opcode" : 131,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpIMul",
-      "class"  : "Arithmetic",
-      "opcode" : 132,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFMul",
-      "class"  : "Arithmetic",
-      "opcode" : 133,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpUDiv",
-      "class"  : "Arithmetic",
-      "opcode" : 134,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpSDiv",
-      "class"  : "Arithmetic",
-      "opcode" : 135,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFDiv",
-      "class"  : "Arithmetic",
-      "opcode" : 136,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpUMod",
-      "class"  : "Arithmetic",
-      "opcode" : 137,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpSRem",
-      "class"  : "Arithmetic",
-      "opcode" : 138,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpSMod",
-      "class"  : "Arithmetic",
-      "opcode" : 139,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFRem",
-      "class"  : "Arithmetic",
-      "opcode" : 140,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFMod",
-      "class"  : "Arithmetic",
-      "opcode" : 141,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpVectorTimesScalar",
-      "class"  : "Arithmetic",
-      "opcode" : 142,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Vector'" },
-        { "kind" : "IdRef",        "name" : "'Scalar'" }
-      ]
-    },
-    {
-      "opname" : "OpMatrixTimesScalar",
-      "class"  : "Arithmetic",
-      "opcode" : 143,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Matrix'" },
-        { "kind" : "IdRef",        "name" : "'Scalar'" }
-      ],
-      "capabilities" : [ "Matrix" ]
-    },
-    {
-      "opname" : "OpVectorTimesMatrix",
-      "class"  : "Arithmetic",
-      "opcode" : 144,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Vector'" },
-        { "kind" : "IdRef",        "name" : "'Matrix'" }
-      ],
-      "capabilities" : [ "Matrix" ]
-    },
-    {
-      "opname" : "OpMatrixTimesVector",
-      "class"  : "Arithmetic",
-      "opcode" : 145,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Matrix'" },
-        { "kind" : "IdRef",        "name" : "'Vector'" }
-      ],
-      "capabilities" : [ "Matrix" ]
-    },
-    {
-      "opname" : "OpMatrixTimesMatrix",
-      "class"  : "Arithmetic",
-      "opcode" : 146,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'LeftMatrix'" },
-        { "kind" : "IdRef",        "name" : "'RightMatrix'" }
-      ],
-      "capabilities" : [ "Matrix" ]
-    },
-    {
-      "opname" : "OpOuterProduct",
-      "class"  : "Arithmetic",
-      "opcode" : 147,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Vector 1'" },
-        { "kind" : "IdRef",        "name" : "'Vector 2'" }
-      ],
-      "capabilities" : [ "Matrix" ]
-    },
-    {
-      "opname" : "OpDot",
-      "class"  : "Arithmetic",
-      "opcode" : 148,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Vector 1'" },
-        { "kind" : "IdRef",        "name" : "'Vector 2'" }
-      ]
-    },
-    {
-      "opname" : "OpIAddCarry",
-      "class"  : "Arithmetic",
-      "opcode" : 149,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpISubBorrow",
-      "class"  : "Arithmetic",
-      "opcode" : 150,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpUMulExtended",
-      "class"  : "Arithmetic",
-      "opcode" : 151,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpSMulExtended",
-      "class"  : "Arithmetic",
-      "opcode" : 152,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpAny",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 154,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Vector'" }
-      ]
-    },
-    {
-      "opname" : "OpAll",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 155,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Vector'" }
-      ]
-    },
-    {
-      "opname" : "OpIsNan",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 156,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "OpIsInf",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 157,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'x'" }
-      ]
-    },
-    {
-      "opname" : "OpIsFinite",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 158,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'x'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpIsNormal",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 159,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'x'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpSignBitSet",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 160,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'x'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpLessOrGreater",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 161,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'x'" },
-        { "kind" : "IdRef",        "name" : "'y'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpOrdered",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 162,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'x'" },
-        { "kind" : "IdRef",        "name" : "'y'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpUnordered",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 163,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'x'" },
-        { "kind" : "IdRef",        "name" : "'y'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpLogicalEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 164,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpLogicalNotEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 165,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpLogicalOr",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 166,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpLogicalAnd",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 167,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpLogicalNot",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 168,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand'" }
-      ]
-    },
-    {
-      "opname" : "OpSelect",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 169,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Condition'" },
-        { "kind" : "IdRef",        "name" : "'Object 1'" },
-        { "kind" : "IdRef",        "name" : "'Object 2'" }
-      ]
-    },
-    {
-      "opname" : "OpIEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 170,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpINotEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 171,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpUGreaterThan",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 172,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpSGreaterThan",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 173,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpUGreaterThanEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 174,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpSGreaterThanEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 175,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpULessThan",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 176,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpSLessThan",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 177,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpULessThanEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 178,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpSLessThanEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 179,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFOrdEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 180,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFUnordEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 181,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFOrdNotEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 182,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFUnordNotEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 183,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFOrdLessThan",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 184,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFUnordLessThan",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 185,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFOrdGreaterThan",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 186,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFUnordGreaterThan",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 187,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFOrdLessThanEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 188,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFUnordLessThanEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 189,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFOrdGreaterThanEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 190,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpFUnordGreaterThanEqual",
-      "class"  : "Relational_and_Logical",
-      "opcode" : 191,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpShiftRightLogical",
-      "class"  : "Bit",
-      "opcode" : 194,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Base'" },
-        { "kind" : "IdRef",        "name" : "'Shift'" }
-      ]
-    },
-    {
-      "opname" : "OpShiftRightArithmetic",
-      "class"  : "Bit",
-      "opcode" : 195,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Base'" },
-        { "kind" : "IdRef",        "name" : "'Shift'" }
-      ]
-    },
-    {
-      "opname" : "OpShiftLeftLogical",
-      "class"  : "Bit",
-      "opcode" : 196,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Base'" },
-        { "kind" : "IdRef",        "name" : "'Shift'" }
-      ]
-    },
-    {
-      "opname" : "OpBitwiseOr",
-      "class"  : "Bit",
-      "opcode" : 197,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpBitwiseXor",
-      "class"  : "Bit",
-      "opcode" : 198,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpBitwiseAnd",
-      "class"  : "Bit",
-      "opcode" : 199,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ]
-    },
-    {
-      "opname" : "OpNot",
-      "class"  : "Bit",
-      "opcode" : 200,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand'" }
-      ]
-    },
-    {
-      "opname" : "OpBitFieldInsert",
-      "class"  : "Bit",
-      "opcode" : 201,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Base'" },
-        { "kind" : "IdRef",        "name" : "'Insert'" },
-        { "kind" : "IdRef",        "name" : "'Offset'" },
-        { "kind" : "IdRef",        "name" : "'Count'" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpBitFieldSExtract",
-      "class"  : "Bit",
-      "opcode" : 202,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Base'" },
-        { "kind" : "IdRef",        "name" : "'Offset'" },
-        { "kind" : "IdRef",        "name" : "'Count'" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpBitFieldUExtract",
-      "class"  : "Bit",
-      "opcode" : 203,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Base'" },
-        { "kind" : "IdRef",        "name" : "'Offset'" },
-        { "kind" : "IdRef",        "name" : "'Count'" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpBitReverse",
-      "class"  : "Bit",
-      "opcode" : 204,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Base'" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpBitCount",
-      "class"  : "Bit",
-      "opcode" : 205,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Base'" }
-      ]
-    },
-    {
-      "opname" : "OpDPdx",
-      "class"  : "Derivative",
-      "opcode" : 207,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'P'" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpDPdy",
-      "class"  : "Derivative",
-      "opcode" : 208,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'P'" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpFwidth",
-      "class"  : "Derivative",
-      "opcode" : 209,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'P'" }
-      ],
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpDPdxFine",
-      "class"  : "Derivative",
-      "opcode" : 210,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'P'" }
-      ],
-      "capabilities" : [ "DerivativeControl" ]
-    },
-    {
-      "opname" : "OpDPdyFine",
-      "class"  : "Derivative",
-      "opcode" : 211,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'P'" }
-      ],
-      "capabilities" : [ "DerivativeControl" ]
-    },
-    {
-      "opname" : "OpFwidthFine",
-      "class"  : "Derivative",
-      "opcode" : 212,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'P'" }
-      ],
-      "capabilities" : [ "DerivativeControl" ]
-    },
-    {
-      "opname" : "OpDPdxCoarse",
-      "class"  : "Derivative",
-      "opcode" : 213,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'P'" }
-      ],
-      "capabilities" : [ "DerivativeControl" ]
-    },
-    {
-      "opname" : "OpDPdyCoarse",
-      "class"  : "Derivative",
-      "opcode" : 214,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'P'" }
-      ],
-      "capabilities" : [ "DerivativeControl" ]
-    },
-    {
-      "opname" : "OpFwidthCoarse",
-      "class"  : "Derivative",
-      "opcode" : 215,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'P'" }
-      ],
-      "capabilities" : [ "DerivativeControl" ]
-    },
-    {
-      "opname" : "OpEmitVertex",
-      "class"  : "Primitive",
-      "opcode" : 218,
-      "capabilities" : [ "Geometry" ]
-    },
-    {
-      "opname" : "OpEndPrimitive",
-      "class"  : "Primitive",
-      "opcode" : 219,
-      "capabilities" : [ "Geometry" ]
-    },
-    {
-      "opname" : "OpEmitStreamVertex",
-      "class"  : "Primitive",
-      "opcode" : 220,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Stream'" }
-      ],
-      "capabilities" : [ "GeometryStreams" ]
-    },
-    {
-      "opname" : "OpEndStreamPrimitive",
-      "class"  : "Primitive",
-      "opcode" : 221,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Stream'" }
-      ],
-      "capabilities" : [ "GeometryStreams" ]
-    },
-    {
-      "opname" : "OpControlBarrier",
-      "class"  : "Barrier",
-      "opcode" : 224,
-      "operands" : [
-        { "kind" : "IdScope",           "name" : "'Execution'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
-      ]
-    },
-    {
-      "opname" : "OpMemoryBarrier",
-      "class"  : "Barrier",
-      "opcode" : 225,
-      "operands" : [
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicLoad",
-      "class"  : "Atomic",
-      "opcode" : 227,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicStore",
-      "class"  : "Atomic",
-      "opcode" : 228,
-      "operands" : [
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
-        { "kind" : "IdRef",             "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicExchange",
-      "class"  : "Atomic",
-      "opcode" : 229,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
-        { "kind" : "IdRef",             "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicCompareExchange",
-      "class"  : "Atomic",
-      "opcode" : 230,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
-        { "kind" : "IdRef",             "name" : "'Value'" },
-        { "kind" : "IdRef",             "name" : "'Comparator'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicCompareExchangeWeak",
-      "class"  : "Atomic",
-      "opcode" : 231,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
-        { "kind" : "IdRef",             "name" : "'Value'" },
-        { "kind" : "IdRef",             "name" : "'Comparator'" }
-      ],
-      "capabilities" : [ "Kernel" ],
-      "lastVersion" : "1.3"
-    },
-    {
-      "opname" : "OpAtomicIIncrement",
-      "class"  : "Atomic",
-      "opcode" : 232,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicIDecrement",
-      "class"  : "Atomic",
-      "opcode" : 233,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicIAdd",
-      "class"  : "Atomic",
-      "opcode" : 234,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
-        { "kind" : "IdRef",             "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicISub",
-      "class"  : "Atomic",
-      "opcode" : 235,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
-        { "kind" : "IdRef",             "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicSMin",
-      "class"  : "Atomic",
-      "opcode" : 236,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
-        { "kind" : "IdRef",             "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicUMin",
-      "class"  : "Atomic",
-      "opcode" : 237,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
-        { "kind" : "IdRef",             "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicSMax",
-      "class"  : "Atomic",
-      "opcode" : 238,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
-        { "kind" : "IdRef",             "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicUMax",
-      "class"  : "Atomic",
-      "opcode" : 239,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
-        { "kind" : "IdRef",             "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicAnd",
-      "class"  : "Atomic",
-      "opcode" : 240,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
-        { "kind" : "IdRef",             "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicOr",
-      "class"  : "Atomic",
-      "opcode" : 241,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
-        { "kind" : "IdRef",             "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpAtomicXor",
-      "class"  : "Atomic",
-      "opcode" : 242,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
-        { "kind" : "IdRef",             "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpPhi",
-      "class"  : "Control-Flow",
-      "opcode" : 245,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "PairIdRefIdRef", "quantifier" : "*", "name" : "'Variable, Parent, ...'" }
-      ]
-    },
-    {
-      "opname" : "OpLoopMerge",
-      "class"  : "Control-Flow",
-      "opcode" : 246,
-      "operands" : [
-        { "kind" : "IdRef",       "name" : "'Merge Block'" },
-        { "kind" : "IdRef",       "name" : "'Continue Target'" },
-        { "kind" : "LoopControl" }
-      ]
-    },
-    {
-      "opname" : "OpSelectionMerge",
-      "class"  : "Control-Flow",
-      "opcode" : 247,
-      "operands" : [
-        { "kind" : "IdRef",            "name" : "'Merge Block'" },
-        { "kind" : "SelectionControl" }
-      ]
-    },
-    {
-      "opname" : "OpLabel",
-      "class"  : "Control-Flow",
-      "opcode" : 248,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ]
-    },
-    {
-      "opname" : "OpBranch",
-      "class"  : "Control-Flow",
-      "opcode" : 249,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Target Label'" }
-      ]
-    },
-    {
-      "opname" : "OpBranchConditional",
-      "class"  : "Control-Flow",
-      "opcode" : 250,
-      "operands" : [
-        { "kind" : "IdRef",                              "name" : "'Condition'" },
-        { "kind" : "IdRef",                              "name" : "'True Label'" },
-        { "kind" : "IdRef",                              "name" : "'False Label'" },
-        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Branch weights'" }
-      ]
-    },
-    {
-      "opname" : "OpSwitch",
-      "class"  : "Control-Flow",
-      "opcode" : 251,
-      "operands" : [
-        { "kind" : "IdRef",                                       "name" : "'Selector'" },
-        { "kind" : "IdRef",                                       "name" : "'Default'" },
-        { "kind" : "PairLiteralIntegerIdRef", "quantifier" : "*", "name" : "'Target'" }
-      ]
-    },
-    {
-      "opname" : "OpKill",
-      "class"  : "Control-Flow",
-      "opcode" : 252,
-      "capabilities" : [ "Shader" ]
-    },
-    {
-      "opname" : "OpReturn",
-      "class"  : "Control-Flow",
-      "opcode" : 253
-    },
-    {
-      "opname" : "OpReturnValue",
-      "class"  : "Control-Flow",
-      "opcode" : 254,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ]
-    },
-    {
-      "opname" : "OpUnreachable",
-      "class"  : "Control-Flow",
-      "opcode" : 255
-    },
-    {
-      "opname" : "OpLifetimeStart",
-      "class"  : "Control-Flow",
-      "opcode" : 256,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'Pointer'" },
-        { "kind" : "LiteralInteger", "name" : "'Size'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpLifetimeStop",
-      "class"  : "Control-Flow",
-      "opcode" : 257,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'Pointer'" },
-        { "kind" : "LiteralInteger", "name" : "'Size'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpGroupAsyncCopy",
-      "class"  : "Group",
-      "opcode" : 259,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",      "name" : "'Execution'" },
-        { "kind" : "IdRef",        "name" : "'Destination'" },
-        { "kind" : "IdRef",        "name" : "'Source'" },
-        { "kind" : "IdRef",        "name" : "'Num Elements'" },
-        { "kind" : "IdRef",        "name" : "'Stride'" },
-        { "kind" : "IdRef",        "name" : "'Event'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpGroupWaitEvents",
-      "class"  : "Group",
-      "opcode" : 260,
-      "operands" : [
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef",   "name" : "'Num Events'" },
-        { "kind" : "IdRef",   "name" : "'Events List'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpGroupAll",
-      "class"  : "Group",
-      "opcode" : 261,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",      "name" : "'Execution'" },
-        { "kind" : "IdRef",        "name" : "'Predicate'" }
-      ],
-      "capabilities" : [ "Groups" ]
-    },
-    {
-      "opname" : "OpGroupAny",
-      "class"  : "Group",
-      "opcode" : 262,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",      "name" : "'Execution'" },
-        { "kind" : "IdRef",        "name" : "'Predicate'" }
-      ],
-      "capabilities" : [ "Groups" ]
-    },
-    {
-      "opname" : "OpGroupBroadcast",
-      "class"  : "Group",
-      "opcode" : 263,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",      "name" : "'Execution'" },
-        { "kind" : "IdRef",        "name" : "'Value'" },
-        { "kind" : "IdRef",        "name" : "'LocalId'" }
-      ],
-      "capabilities" : [ "Groups" ]
-    },
-    {
-      "opname" : "OpGroupIAdd",
-      "class"  : "Group",
-      "opcode" : 264,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ]
-    },
-    {
-      "opname" : "OpGroupFAdd",
-      "class"  : "Group",
-      "opcode" : 265,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ]
-    },
-    {
-      "opname" : "OpGroupFMin",
-      "class"  : "Group",
-      "opcode" : 266,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ]
-    },
-    {
-      "opname" : "OpGroupUMin",
-      "class"  : "Group",
-      "opcode" : 267,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ]
-    },
-    {
-      "opname" : "OpGroupSMin",
-      "class"  : "Group",
-      "opcode" : 268,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ]
-    },
-    {
-      "opname" : "OpGroupFMax",
-      "class"  : "Group",
-      "opcode" : 269,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ]
-    },
-    {
-      "opname" : "OpGroupUMax",
-      "class"  : "Group",
-      "opcode" : 270,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ]
-    },
-    {
-      "opname" : "OpGroupSMax",
-      "class"  : "Group",
-      "opcode" : 271,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ]
-    },
-    {
-      "opname" : "OpReadPipe",
-      "class"  : "Pipe",
-      "opcode" : 274,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pipe'" },
-        { "kind" : "IdRef",        "name" : "'Pointer'" },
-        { "kind" : "IdRef",        "name" : "'Packet Size'" },
-        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpWritePipe",
-      "class"  : "Pipe",
-      "opcode" : 275,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pipe'" },
-        { "kind" : "IdRef",        "name" : "'Pointer'" },
-        { "kind" : "IdRef",        "name" : "'Packet Size'" },
-        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpReservedReadPipe",
-      "class"  : "Pipe",
-      "opcode" : 276,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pipe'" },
-        { "kind" : "IdRef",        "name" : "'Reserve Id'" },
-        { "kind" : "IdRef",        "name" : "'Index'" },
-        { "kind" : "IdRef",        "name" : "'Pointer'" },
-        { "kind" : "IdRef",        "name" : "'Packet Size'" },
-        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpReservedWritePipe",
-      "class"  : "Pipe",
-      "opcode" : 277,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pipe'" },
-        { "kind" : "IdRef",        "name" : "'Reserve Id'" },
-        { "kind" : "IdRef",        "name" : "'Index'" },
-        { "kind" : "IdRef",        "name" : "'Pointer'" },
-        { "kind" : "IdRef",        "name" : "'Packet Size'" },
-        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpReserveReadPipePackets",
-      "class"  : "Pipe",
-      "opcode" : 278,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pipe'" },
-        { "kind" : "IdRef",        "name" : "'Num Packets'" },
-        { "kind" : "IdRef",        "name" : "'Packet Size'" },
-        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpReserveWritePipePackets",
-      "class"  : "Pipe",
-      "opcode" : 279,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pipe'" },
-        { "kind" : "IdRef",        "name" : "'Num Packets'" },
-        { "kind" : "IdRef",        "name" : "'Packet Size'" },
-        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpCommitReadPipe",
-      "class"  : "Pipe",
-      "opcode" : 280,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Pipe'" },
-        { "kind" : "IdRef", "name" : "'Reserve Id'" },
-        { "kind" : "IdRef", "name" : "'Packet Size'" },
-        { "kind" : "IdRef", "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpCommitWritePipe",
-      "class"  : "Pipe",
-      "opcode" : 281,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Pipe'" },
-        { "kind" : "IdRef", "name" : "'Reserve Id'" },
-        { "kind" : "IdRef", "name" : "'Packet Size'" },
-        { "kind" : "IdRef", "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpIsValidReserveId",
-      "class"  : "Pipe",
-      "opcode" : 282,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Reserve Id'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpGetNumPipePackets",
-      "class"  : "Pipe",
-      "opcode" : 283,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pipe'" },
-        { "kind" : "IdRef",        "name" : "'Packet Size'" },
-        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpGetMaxPipePackets",
-      "class"  : "Pipe",
-      "opcode" : 284,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Pipe'" },
-        { "kind" : "IdRef",        "name" : "'Packet Size'" },
-        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpGroupReserveReadPipePackets",
-      "class"  : "Pipe",
-      "opcode" : 285,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",      "name" : "'Execution'" },
-        { "kind" : "IdRef",        "name" : "'Pipe'" },
-        { "kind" : "IdRef",        "name" : "'Num Packets'" },
-        { "kind" : "IdRef",        "name" : "'Packet Size'" },
-        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpGroupReserveWritePipePackets",
-      "class"  : "Pipe",
-      "opcode" : 286,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",      "name" : "'Execution'" },
-        { "kind" : "IdRef",        "name" : "'Pipe'" },
-        { "kind" : "IdRef",        "name" : "'Num Packets'" },
-        { "kind" : "IdRef",        "name" : "'Packet Size'" },
-        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpGroupCommitReadPipe",
-      "class"  : "Pipe",
-      "opcode" : 287,
-      "operands" : [
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef",   "name" : "'Pipe'" },
-        { "kind" : "IdRef",   "name" : "'Reserve Id'" },
-        { "kind" : "IdRef",   "name" : "'Packet Size'" },
-        { "kind" : "IdRef",   "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpGroupCommitWritePipe",
-      "class"  : "Pipe",
-      "opcode" : 288,
-      "operands" : [
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef",   "name" : "'Pipe'" },
-        { "kind" : "IdRef",   "name" : "'Reserve Id'" },
-        { "kind" : "IdRef",   "name" : "'Packet Size'" },
-        { "kind" : "IdRef",   "name" : "'Packet Alignment'" }
-      ],
-      "capabilities" : [ "Pipes" ]
-    },
-    {
-      "opname" : "OpEnqueueMarker",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 291,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Queue'" },
-        { "kind" : "IdRef",        "name" : "'Num Events'" },
-        { "kind" : "IdRef",        "name" : "'Wait Events'" },
-        { "kind" : "IdRef",        "name" : "'Ret Event'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpEnqueueKernel",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 292,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                            "name" : "'Queue'" },
-        { "kind" : "IdRef",                            "name" : "'Flags'" },
-        { "kind" : "IdRef",                            "name" : "'ND Range'" },
-        { "kind" : "IdRef",                            "name" : "'Num Events'" },
-        { "kind" : "IdRef",                            "name" : "'Wait Events'" },
-        { "kind" : "IdRef",                            "name" : "'Ret Event'" },
-        { "kind" : "IdRef",                            "name" : "'Invoke'" },
-        { "kind" : "IdRef",                            "name" : "'Param'" },
-        { "kind" : "IdRef",                            "name" : "'Param Size'" },
-        { "kind" : "IdRef",                            "name" : "'Param Align'" },
-        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Local Size'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpGetKernelNDrangeSubGroupCount",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 293,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'ND Range'" },
-        { "kind" : "IdRef",        "name" : "'Invoke'" },
-        { "kind" : "IdRef",        "name" : "'Param'" },
-        { "kind" : "IdRef",        "name" : "'Param Size'" },
-        { "kind" : "IdRef",        "name" : "'Param Align'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpGetKernelNDrangeMaxSubGroupSize",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 294,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'ND Range'" },
-        { "kind" : "IdRef",        "name" : "'Invoke'" },
-        { "kind" : "IdRef",        "name" : "'Param'" },
-        { "kind" : "IdRef",        "name" : "'Param Size'" },
-        { "kind" : "IdRef",        "name" : "'Param Align'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpGetKernelWorkGroupSize",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 295,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Invoke'" },
-        { "kind" : "IdRef",        "name" : "'Param'" },
-        { "kind" : "IdRef",        "name" : "'Param Size'" },
-        { "kind" : "IdRef",        "name" : "'Param Align'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpGetKernelPreferredWorkGroupSizeMultiple",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 296,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Invoke'" },
-        { "kind" : "IdRef",        "name" : "'Param'" },
-        { "kind" : "IdRef",        "name" : "'Param Size'" },
-        { "kind" : "IdRef",        "name" : "'Param Align'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpRetainEvent",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 297,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Event'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpReleaseEvent",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 298,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Event'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpCreateUserEvent",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 299,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpIsValidEvent",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 300,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Event'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpSetUserEventStatus",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 301,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Event'" },
-        { "kind" : "IdRef", "name" : "'Status'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpCaptureEventProfilingInfo",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 302,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Event'" },
-        { "kind" : "IdRef", "name" : "'Profiling Info'" },
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpGetDefaultQueue",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 303,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpBuildNDRange",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 304,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'GlobalWorkSize'" },
-        { "kind" : "IdRef",        "name" : "'LocalWorkSize'" },
-        { "kind" : "IdRef",        "name" : "'GlobalWorkOffset'" }
-      ],
-      "capabilities" : [ "DeviceEnqueue" ]
-    },
-    {
-      "opname" : "OpImageSparseSampleImplicitLod",
-      "class"  : "Image",
-      "opcode" : 305,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "SparseResidency" ]
-    },
-    {
-      "opname" : "OpImageSparseSampleExplicitLod",
-      "class"  : "Image",
-      "opcode" : 306,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",         "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands" }
-      ],
-      "capabilities" : [ "SparseResidency" ]
-    },
-    {
-      "opname" : "OpImageSparseSampleDrefImplicitLod",
-      "class"  : "Image",
-      "opcode" : 307,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "SparseResidency" ]
-    },
-    {
-      "opname" : "OpImageSparseSampleDrefExplicitLod",
-      "class"  : "Image",
-      "opcode" : 308,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",         "name" : "'Coordinate'" },
-        { "kind" : "IdRef",         "name" : "'D~ref~'" },
-        { "kind" : "ImageOperands" }
-      ],
-      "capabilities" : [ "SparseResidency" ]
-    },
-    {
-      "opname" : "OpImageSparseSampleProjImplicitLod",
-      "class"  : "Image",
-      "opcode" : 309,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "SparseResidency" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpImageSparseSampleProjExplicitLod",
-      "class"  : "Image",
-      "opcode" : 310,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",         "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands" }
-      ],
-      "capabilities" : [ "SparseResidency" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpImageSparseSampleProjDrefImplicitLod",
-      "class"  : "Image",
-      "opcode" : 311,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "SparseResidency" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpImageSparseSampleProjDrefExplicitLod",
-      "class"  : "Image",
-      "opcode" : 312,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",         "name" : "'Coordinate'" },
-        { "kind" : "IdRef",         "name" : "'D~ref~'" },
-        { "kind" : "ImageOperands" }
-      ],
-      "capabilities" : [ "SparseResidency" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpImageSparseFetch",
-      "class"  : "Image",
-      "opcode" : 313,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "SparseResidency" ]
-    },
-    {
-      "opname" : "OpImageSparseGather",
-      "class"  : "Image",
-      "opcode" : 314,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "IdRef",                             "name" : "'Component'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "SparseResidency" ]
-    },
-    {
-      "opname" : "OpImageSparseDrefGather",
-      "class"  : "Image",
-      "opcode" : 315,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "SparseResidency" ]
-    },
-    {
-      "opname" : "OpImageSparseTexelsResident",
-      "class"  : "Image",
-      "opcode" : 316,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Resident Code'" }
-      ],
-      "capabilities" : [ "SparseResidency" ]
-    },
-    {
-      "opname" : "OpNoLine",
-      "class"  : "Debug",
-      "opcode" : 317
-    },
-    {
-      "opname" : "OpAtomicFlagTestAndSet",
-      "class"  : "Atomic",
-      "opcode" : 318,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpAtomicFlagClear",
-      "class"  : "Atomic",
-      "opcode" : 319,
-      "operands" : [
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdScope",           "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
-      ],
-      "capabilities" : [ "Kernel" ]
-    },
-    {
-      "opname" : "OpImageSparseRead",
-      "class"  : "Image",
-      "opcode" : 320,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",                             "name" : "'Image'" },
-        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "SparseResidency" ]
-    },
-    {
-      "opname" : "OpSizeOf",
-      "class"  : "Miscellaneous",
-      "opcode" : 321,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Pointer'" }
-      ],
-      "capabilities" : [ "Addresses" ],
-      "version" : "1.1"
-    },
-    {
-      "opname" : "OpTypePipeStorage",
-      "class"  : "Type-Declaration",
-      "opcode" : 322,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "PipeStorage" ],
-      "version" : "1.1"
-    },
-    {
-      "opname" : "OpConstantPipeStorage",
-      "class"  : "Pipe",
-      "opcode" : 323,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "LiteralInteger", "name" : "'Packet Size'" },
-        { "kind" : "LiteralInteger", "name" : "'Packet Alignment'" },
-        { "kind" : "LiteralInteger", "name" : "'Capacity'" }
-      ],
-      "capabilities" : [ "PipeStorage" ],
-      "version" : "1.1"
-    },
-    {
-      "opname" : "OpCreatePipeFromPipeStorage",
-      "class"  : "Pipe",
-      "opcode" : 324,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Pipe Storage'" }
-      ],
-      "capabilities" : [ "PipeStorage" ],
-      "version" : "1.1"
-    },
-    {
-      "opname" : "OpGetKernelLocalSizeForSubgroupCount",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 325,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Subgroup Count'" },
-        { "kind" : "IdRef", "name" : "'Invoke'" },
-        { "kind" : "IdRef", "name" : "'Param'" },
-        { "kind" : "IdRef", "name" : "'Param Size'" },
-        { "kind" : "IdRef", "name" : "'Param Align'" }
-      ],
-      "capabilities" : [ "SubgroupDispatch" ],
-      "version" : "1.1"
-    },
-    {
-      "opname" : "OpGetKernelMaxNumSubgroups",
-      "class"  : "Device-Side_Enqueue",
-      "opcode" : 326,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Invoke'" },
-        { "kind" : "IdRef", "name" : "'Param'" },
-        { "kind" : "IdRef", "name" : "'Param Size'" },
-        { "kind" : "IdRef", "name" : "'Param Align'" }
-      ],
-      "capabilities" : [ "SubgroupDispatch" ],
-      "version" : "1.1"
-    },
-    {
-      "opname" : "OpTypeNamedBarrier",
-      "class"  : "Type-Declaration",
-      "opcode" : 327,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "NamedBarrier" ],
-      "version" : "1.1"
-    },
-    {
-      "opname" : "OpNamedBarrierInitialize",
-      "class"  : "Barrier",
-      "opcode" : 328,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Subgroup Count'" }
-      ],
-      "capabilities" : [ "NamedBarrier" ],
-      "version" : "1.1"
-    },
-    {
-      "opname" : "OpMemoryNamedBarrier",
-      "class"  : "Barrier",
-      "opcode" : 329,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Named Barrier'" },
-        { "kind" : "IdScope", "name" : "'Memory'" },
-        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
-      ],
-      "capabilities" : [ "NamedBarrier" ],
-      "version" : "1.1"
-    },
-    {
-      "opname" : "OpModuleProcessed",
-      "class"  : "Debug",
-      "opcode" : 330,
-      "operands" : [
-        { "kind" : "LiteralString", "name" : "'Process'" }
-      ],
-      "version" : "1.1"
-    },
-    {
-      "opname" : "OpExecutionModeId",
-      "class"  : "Mode-Setting",
-      "opcode" : 331,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Entry Point'" },
-        { "kind" : "ExecutionMode", "name" : "'Mode'" }
-      ],
-      "version" : "1.2"
-    },
-    {
-      "opname" : "OpDecorateId",
-      "class"  : "Annotation",
-      "opcode" : 332,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Target'" },
-        { "kind" : "Decoration" }
-      ],
-      "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
-      "version" : "1.2"
-    },
-    {
-      "opname" : "OpGroupNonUniformElect",
-      "class"  : "Non-Uniform",
-      "opcode" : 333,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" }
-      ],
-      "capabilities" : [ "GroupNonUniform" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformAll",
-      "class"  : "Non-Uniform",
-      "opcode" : 334,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Predicate'" }
-      ],
-      "capabilities" : [ "GroupNonUniformVote" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformAny",
-      "class"  : "Non-Uniform",
-      "opcode" : 335,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Predicate'" }
-      ],
-      "capabilities" : [ "GroupNonUniformVote" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformAllEqual",
-      "class"  : "Non-Uniform",
-      "opcode" : 336,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ],
-      "capabilities" : [ "GroupNonUniformVote" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformBroadcast",
-      "class"  : "Non-Uniform",
-      "opcode" : 337,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Id'" }
-      ],
-      "capabilities" : [ "GroupNonUniformBallot" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformBroadcastFirst",
-      "class"  : "Non-Uniform",
-      "opcode" : 338,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ],
-      "capabilities" : [ "GroupNonUniformBallot" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformBallot",
-      "class"  : "Non-Uniform",
-      "opcode" : 339,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Predicate'" }
-      ],
-      "capabilities" : [ "GroupNonUniformBallot" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformInverseBallot",
-      "class"  : "Non-Uniform",
-      "opcode" : 340,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ],
-      "capabilities" : [ "GroupNonUniformBallot" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformBallotBitExtract",
-      "class"  : "Non-Uniform",
-      "opcode" : 341,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Index'" }
-      ],
-      "capabilities" : [ "GroupNonUniformBallot" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformBallotBitCount",
-      "class"  : "Non-Uniform",
-      "opcode" : 342,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ],
-      "capabilities" : [ "GroupNonUniformBallot" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformBallotFindLSB",
-      "class"  : "Non-Uniform",
-      "opcode" : 343,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ],
-      "capabilities" : [ "GroupNonUniformBallot" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformBallotFindMSB",
-      "class"  : "Non-Uniform",
-      "opcode" : 344,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ],
-      "capabilities" : [ "GroupNonUniformBallot" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformShuffle",
-      "class"  : "Non-Uniform",
-      "opcode" : 345,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Id'" }
-      ],
-      "capabilities" : [ "GroupNonUniformShuffle" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformShuffleXor",
-      "class"  : "Non-Uniform",
-      "opcode" : 346,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Mask'" }
-      ],
-      "capabilities" : [ "GroupNonUniformShuffle" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformShuffleUp",
-      "class"  : "Non-Uniform",
-      "opcode" : 347,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Delta'" }
-      ],
-      "capabilities" : [ "GroupNonUniformShuffleRelative" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformShuffleDown",
-      "class"  : "Non-Uniform",
-      "opcode" : 348,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Delta'" }
-      ],
-      "capabilities" : [ "GroupNonUniformShuffleRelative" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformIAdd",
-      "class"  : "Non-Uniform",
-      "opcode" : 349,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformFAdd",
-      "class"  : "Non-Uniform",
-      "opcode" : 350,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformIMul",
-      "class"  : "Non-Uniform",
-      "opcode" : 351,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformFMul",
-      "class"  : "Non-Uniform",
-      "opcode" : 352,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformSMin",
-      "class"  : "Non-Uniform",
-      "opcode" : 353,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformUMin",
-      "class"  : "Non-Uniform",
-      "opcode" : 354,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformFMin",
-      "class"  : "Non-Uniform",
-      "opcode" : 355,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformSMax",
-      "class"  : "Non-Uniform",
-      "opcode" : 356,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformUMax",
-      "class"  : "Non-Uniform",
-      "opcode" : 357,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformFMax",
-      "class"  : "Non-Uniform",
-      "opcode" : 358,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformBitwiseAnd",
-      "class"  : "Non-Uniform",
-      "opcode" : 359,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformBitwiseOr",
-      "class"  : "Non-Uniform",
-      "opcode" : 360,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformBitwiseXor",
-      "class"  : "Non-Uniform",
-      "opcode" : 361,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformLogicalAnd",
-      "class"  : "Non-Uniform",
-      "opcode" : 362,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformLogicalOr",
-      "class"  : "Non-Uniform",
-      "opcode" : 363,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformLogicalXor",
-      "class"  : "Non-Uniform",
-      "opcode" : 364,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformQuadBroadcast",
-      "class"  : "Non-Uniform",
-      "opcode" : 365,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Index'" }
-      ],
-      "capabilities" : [ "GroupNonUniformQuad" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpGroupNonUniformQuadSwap",
-      "class"  : "Non-Uniform",
-      "opcode" : 366,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Direction'" }
-      ],
-      "capabilities" : [ "GroupNonUniformQuad" ],
-      "version" : "1.3"
-    },
-    {
-      "opname" : "OpCopyLogical",
-      "class"  : "Composite",
-      "opcode" : 400,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand'" }
-      ],
-      "version" : "1.4"
-    },
-    {
-      "opname" : "OpPtrEqual",
-      "class"  : "Memory",
-      "opcode" : 401,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "version" : "1.4"
-    },
-    {
-      "opname" : "OpPtrNotEqual",
-      "class"  : "Memory",
-      "opcode" : 402,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "version" : "1.4"
-    },
-    {
-      "opname" : "OpPtrDiff",
-      "class"  : "Memory",
-      "opcode" : 403,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "Addresses", "VariablePointers", "VariablePointersStorageBuffer" ],
-      "version" : "1.4"
-    },
-    {
-      "opname" : "OpSubgroupBallotKHR",
-      "class"  : "Group",
-      "opcode" : 4421,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Predicate'" }
-      ],
-      "capabilities" : [ "SubgroupBallotKHR" ],
-      "extensions" : [ "SPV_KHR_shader_ballot" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupFirstInvocationKHR",
-      "class"  : "Group",
-      "opcode" : 4422,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ],
-      "capabilities" : [ "SubgroupBallotKHR" ],
-      "extensions" : [ "SPV_KHR_shader_ballot" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAllKHR",
-      "class"  : "Group",
-      "opcode" : 4428,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Predicate'" }
-      ],
-      "extensions" : [
-        "SPV_KHR_subgroup_vote"
-      ],
-      "capabilities" : [ "SubgroupVoteKHR" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAnyKHR",
-      "class"  : "Group",
-      "opcode" : 4429,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Predicate'" }
-      ],
-      "extensions" : [
-        "SPV_KHR_subgroup_vote"
-      ],
-      "capabilities" : [ "SubgroupVoteKHR" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAllEqualKHR",
-      "class"  : "Group",
-      "opcode" : 4430,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Predicate'" }
-      ],
-      "extensions" : [
-        "SPV_KHR_subgroup_vote"
-      ],
-      "capabilities" : [ "SubgroupVoteKHR" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupReadInvocationKHR",
-      "class"  : "Group",
-      "opcode" : 4432,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Value'" },
-        { "kind" : "IdRef", "name" : "'Index'" }
-      ],
-      "capabilities" : [ "SubgroupBallotKHR" ],
-      "extensions" : [ "SPV_KHR_shader_ballot" ],
-      "version" : "None"
-    },
-    {
-        "opname" : "OpTypeRayQueryProvisionalKHR",
-        "class" : "Reserved",
-        "opcode" : 4472,
-        "operands" : [
-            { "kind" : "IdResult" }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryInitializeKHR",
-        "class" : "Reserved",
-        "opcode" : 4473,
-        "operands" : [
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Accel'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayFlags'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'CullMask'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayOrigin'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayTMin'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayDirection'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayTMax'"
-            }
-
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryTerminateKHR",
-        "class" : "Reserved",
-        "opcode" : 4474,
-        "operands" : [
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGenerateIntersectionKHR",
-        "class" : "Reserved",
-        "opcode" : 4475,
-        "operands" : [
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'HitT'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryConfirmIntersectionKHR",
-        "class" : "Reserved",
-        "opcode" : 4476,
-        "operands" : [
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryProceedKHR",
-        "class" : "Reserved",
-        "opcode" : 4477,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionTypeKHR",
-        "class" : "Reserved",
-        "opcode" : 4479,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-      "opname" : "OpGroupIAddNonUniformAMD",
-      "class"  : "Group",
-      "opcode" : 5000,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpGroupFAddNonUniformAMD",
-      "class"  : "Group",
-      "opcode" : 5001,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpGroupFMinNonUniformAMD",
-      "class"  : "Group",
-      "opcode" : 5002,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpGroupUMinNonUniformAMD",
-      "class"  : "Group",
-      "opcode" : 5003,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpGroupSMinNonUniformAMD",
-      "class"  : "Group",
-      "opcode" : 5004,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpGroupFMaxNonUniformAMD",
-      "class"  : "Group",
-      "opcode" : 5005,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpGroupUMaxNonUniformAMD",
-      "class"  : "Group",
-      "opcode" : 5006,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpGroupSMaxNonUniformAMD",
-      "class"  : "Group",
-      "opcode" : 5007,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope",        "name" : "'Execution'" },
-        { "kind" : "GroupOperation", "name" : "'Operation'" },
-        { "kind" : "IdRef",          "name" : "'X'" }
-      ],
-      "capabilities" : [ "Groups" ],
-      "extensions" : [ "SPV_AMD_shader_ballot" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpFragmentMaskFetchAMD",
-      "class"  : "Reserved",
-      "opcode" : 5011,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Image'" },
-        { "kind" : "IdRef", "name" : "'Coordinate'" }
-      ],
-      "capabilities" : [ "FragmentMaskAMD" ],
-      "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpFragmentFetchAMD",
-      "class"  : "Reserved",
-      "opcode" : 5012,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Image'" },
-        { "kind" : "IdRef", "name" : "'Coordinate'" },
-        { "kind" : "IdRef", "name" : "'Fragment Index'" }
-      ],
-      "capabilities" : [ "FragmentMaskAMD" ],
-      "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpReadClockKHR",
-      "class"  : "Reserved",
-      "opcode" : 5056,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdScope", "name" : "'Execution'" }
-      ],
-      "capabilities" : [ "ShaderClockKHR" ],
-      "extensions" : [ "SPV_KHR_shader_clock" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpImageSampleFootprintNV",
-      "class"  : "Image",
-      "opcode" : 5283,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Sampled Image'" },
-        { "kind" : "IdRef", "name" : "'Coordinate'" },
-        { "kind" : "IdRef", "name" : "'Granularity'" },
-        { "kind" : "IdRef", "name" : "'Coarse'" },
-        { "kind" : "ImageOperands", "quantifier" : "?" }
-      ],
-      "capabilities" : [ "ImageFootprintNV" ],
-      "extensions" : [ "SPV_NV_shader_image_footprint" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpGroupNonUniformPartitionNV",
-      "class"  : "Non-Uniform",
-      "opcode" : 5296,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ],
-      "capabilities" : [ "GroupNonUniformPartitionedNV" ],
-      "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpWritePackedPrimitiveIndices4x8NV",
-      "class"  : "Reserved",
-      "opcode" : 5299,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Index Offset'" },
-        { "kind" : "IdRef", "name" : "'Packed Indices'" }
-      ],
-      "capabilities" : [ "MeshShadingNV" ],
-      "extensions" : [ "SPV_NV_mesh_shader" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpReportIntersectionNV",
-      "class"  : "Reserved",
-      "opcode" : 5334,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Hit'" },
-        { "kind" : "IdRef", "name" : "'HitKind'" }
-      ],
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpReportIntersectionKHR",
-      "class"  : "Reserved",
-      "opcode" : 5334,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Hit'" },
-        { "kind" : "IdRef", "name" : "'HitKind'" }
-      ],
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpIgnoreIntersectionNV",
-      "class"  : "Reserved",
-      "opcode" : 5335,
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpIgnoreIntersectionKHR",
-      "class"  : "Reserved",
-      "opcode" : 5335,
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTerminateRayNV",
-      "class"  : "Reserved",
-      "opcode" : 5336,
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTerminateRayKHR",
-      "class"  : "Reserved",
-      "opcode" : 5336,
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTraceNV",
-      "class"  : "Reserved",
-      "opcode" : 5337,
-      "operands" : [
-
-        { "kind" : "IdRef", "name" : "'Accel'" },
-        { "kind" : "IdRef", "name" : "'Ray Flags'" },
-        { "kind" : "IdRef", "name" : "'Cull Mask'" },
-        { "kind" : "IdRef", "name" : "'SBT Offset'" },
-        { "kind" : "IdRef", "name" : "'SBT Stride'" },
-        { "kind" : "IdRef", "name" : "'Miss Index'" },
-        { "kind" : "IdRef", "name" : "'Ray Origin'" },
-        { "kind" : "IdRef", "name" : "'Ray Tmin'" },
-        { "kind" : "IdRef", "name" : "'Ray Direction'" },
-        { "kind" : "IdRef", "name" : "'Ray Tmax'" },
-        { "kind" : "IdRef", "name" : "'PayloadId'" }
-      ],
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTraceRayKHR",
-      "class"  : "Reserved",
-      "opcode" : 5337,
-      "operands" : [
-
-        { "kind" : "IdRef", "name" : "'Accel'" },
-        { "kind" : "IdRef", "name" : "'Ray Flags'" },
-        { "kind" : "IdRef", "name" : "'Cull Mask'" },
-        { "kind" : "IdRef", "name" : "'SBT Offset'" },
-        { "kind" : "IdRef", "name" : "'SBT Stride'" },
-        { "kind" : "IdRef", "name" : "'Miss Index'" },
-        { "kind" : "IdRef", "name" : "'Ray Origin'" },
-        { "kind" : "IdRef", "name" : "'Ray Tmin'" },
-        { "kind" : "IdRef", "name" : "'Ray Direction'" },
-        { "kind" : "IdRef", "name" : "'Ray Tmax'" },
-        { "kind" : "IdRef", "name" : "'PayloadId'" }
-      ],
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAccelerationStructureNV",
-      "class"  : "Reserved",
-      "opcode" : 5341,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR", "RayQueryProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAccelerationStructureKHR",
-      "class"  : "Reserved",
-      "opcode" : 5341,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR", "RayQueryProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpExecuteCallableNV",
-      "class"  : "Reserved",
-      "opcode" : 5344,
-      "operands" : [
-
-        { "kind" : "IdRef", "name" : "'SBT Index'" },
-        { "kind" : "IdRef", "name" : "'Callable DataId'" }
-      ],
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpExecuteCallableKHR",
-      "class"  : "Reserved",
-      "opcode" : 5344,
-      "operands" : [
-
-        { "kind" : "IdRef", "name" : "'SBT Index'" },
-        { "kind" : "IdRef", "name" : "'Callable DataId'" }
-      ],
-      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeCooperativeMatrixNV",
-      "class"  : "Reserved",
-      "opcode" : 5358,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Component Type'" },
-        { "kind" : "IdScope",      "name" : "'Execution'" },
-        { "kind" : "IdRef",        "name" : "'Rows'" },
-        { "kind" : "IdRef",        "name" : "'Columns'" }
-      ],
-      "capabilities" : [ "CooperativeMatrixNV" ],
-      "extensions" : [ "SPV_NV_cooperative_matrix" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpCooperativeMatrixLoadNV",
-      "class"  : "Reserved",
-      "opcode" : 5359,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdRef",             "name" : "'Stride'" },
-        { "kind" : "IdRef",             "name" : "'Column Major'" },
-        { "kind" : "MemoryAccess",      "quantifier" : "?" }
-      ],
-      "capabilities" : [ "CooperativeMatrixNV" ],
-      "extensions" : [ "SPV_NV_cooperative_matrix" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpCooperativeMatrixStoreNV",
-      "class"  : "Reserved",
-      "opcode" : 5360,
-      "operands" : [
-        { "kind" : "IdRef",             "name" : "'Pointer'" },
-        { "kind" : "IdRef",             "name" : "'Object'" },
-        { "kind" : "IdRef",             "name" : "'Stride'" },
-        { "kind" : "IdRef",             "name" : "'Column Major'" },
-        { "kind" : "MemoryAccess",      "quantifier" : "?" }
-      ],
-      "capabilities" : [ "CooperativeMatrixNV" ],
-      "extensions" : [ "SPV_NV_cooperative_matrix" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpCooperativeMatrixMulAddNV",
-      "class"  : "Reserved",
-      "opcode" : 5361,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",             "name" : "'A'" },
-        { "kind" : "IdRef",             "name" : "'B'" },
-        { "kind" : "IdRef",             "name" : "'C'" }
-      ],
-      "capabilities" : [ "CooperativeMatrixNV" ],
-      "extensions" : [ "SPV_NV_cooperative_matrix" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpCooperativeMatrixLengthNV",
-      "class"  : "Reserved",
-      "opcode" : 5362,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Type'" }
-      ],
-      "capabilities" : [ "CooperativeMatrixNV" ],
-      "extensions" : [ "SPV_NV_cooperative_matrix" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpBeginInvocationInterlockEXT",
-      "class"  : "Reserved",
-      "opcode" : 5364,
-      "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
-      "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpEndInvocationInterlockEXT",
-      "class"  : "Reserved",
-      "opcode" : 5365,
-      "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
-      "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpDemoteToHelperInvocationEXT",
-      "class"  : "Reserved",
-      "opcode" : 5380,
-      "capabilities" : [ "DemoteToHelperInvocationEXT" ],
-      "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpIsHelperInvocationEXT",
-      "class"  : "Reserved",
-      "opcode" : 5381,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "DemoteToHelperInvocationEXT" ],
-      "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupShuffleINTEL",
-      "class"  : "Group",
-      "opcode" : 5571,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Data'" },
-        { "kind" : "IdRef", "name" : "'InvocationId'" }
-      ],
-      "capabilities" : [ "SubgroupShuffleINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupShuffleDownINTEL",
-      "class"  : "Group",
-      "opcode" : 5572,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Current'" },
-        { "kind" : "IdRef", "name" : "'Next'" },
-        { "kind" : "IdRef", "name" : "'Delta'" }
-      ],
-      "capabilities" : [ "SubgroupShuffleINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupShuffleUpINTEL",
-      "class"  : "Group",
-      "opcode" : 5573,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Previous'" },
-        { "kind" : "IdRef", "name" : "'Current'" },
-        { "kind" : "IdRef", "name" : "'Delta'" }
-      ],
-      "capabilities" : [ "SubgroupShuffleINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupShuffleXorINTEL",
-      "class"  : "Group",
-      "opcode" : 5574,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Data'" },
-        { "kind" : "IdRef", "name" : "'Value'" }
-      ],
-      "capabilities" : [ "SubgroupShuffleINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupBlockReadINTEL",
-      "class"  : "Group",
-      "opcode" : 5575,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Ptr'" }
-      ],
-      "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupBlockWriteINTEL",
-      "class"  : "Group",
-      "opcode" : 5576,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Ptr'" },
-        { "kind" : "IdRef", "name" : "'Data'" }
-      ],
-      "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupImageBlockReadINTEL",
-      "class"  : "Group",
-      "opcode" : 5577,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Image'" },
-        { "kind" : "IdRef", "name" : "'Coordinate'" }
-      ],
-      "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupImageBlockWriteINTEL",
-      "class"  : "Group",
-      "opcode" : 5578,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Image'" },
-        { "kind" : "IdRef", "name" : "'Coordinate'" },
-        { "kind" : "IdRef", "name" : "'Data'" }
-      ],
-      "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupImageMediaBlockReadINTEL",
-      "class"  : "Group",
-      "opcode" : 5580,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Image'" },
-        { "kind" : "IdRef", "name" : "'Coordinate'" },
-        { "kind" : "IdRef", "name" : "'Width'" },
-        { "kind" : "IdRef", "name" : "'Height'" }
-      ],
-      "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupImageMediaBlockWriteINTEL",
-      "class"  : "Group",
-      "opcode" : 5581,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "'Image'" },
-        { "kind" : "IdRef", "name" : "'Coordinate'" },
-        { "kind" : "IdRef", "name" : "'Width'" },
-        { "kind" : "IdRef", "name" : "'Height'" },
-        { "kind" : "IdRef", "name" : "'Data'" }
-      ],
-      "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpUCountLeadingZerosINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5585,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpUCountTrailingZerosINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5586,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpAbsISubINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5587,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpAbsUSubINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5588,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpIAddSatINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5589,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpUAddSatINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5590,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpIAverageINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5591,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpUAverageINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5592,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpIAverageRoundedINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5593,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpUAverageRoundedINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5594,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpISubSatINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5595,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpUSubSatINTEL",
-      "class"  : "Reserved",
-      "opcode" : 5596,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpIMul32x16INTEL",
-      "class"  : "Reserved",
-      "opcode" : 5597,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpUMul32x16INTEL",
-      "class"  : "Reserved",
-      "opcode" : 5598,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef",        "name" : "'Operand 1'" },
-        { "kind" : "IdRef",        "name" : "'Operand 2'" }
-      ],
-      "capabilities" : [ "IntegerFunctions2INTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpDecorateString",
-      "class"  : "Annotation",
-      "opcode" : 5632,
-      "operands" : [
-        { "kind" : "IdRef",         "name" : "'Target'" },
-        { "kind" : "Decoration" }
-      ],
-      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
-      "version" : "1.4"
-    },
-    {
-      "opname" : "OpDecorateStringGOOGLE",
-      "class"  : "Annotation",
-      "opcode" : 5632,
-      "operands" : [
-        { "kind" : "IdRef",         "name" : "'Target'" },
-        { "kind" : "Decoration" }
-      ],
-      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
-      "version" : "1.4"
-    },
-    {
-      "opname" : "OpMemberDecorateString",
-      "class"  : "Annotation",
-      "opcode" : 5633,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'Struct Type'" },
-        { "kind" : "LiteralInteger", "name" : "'Member'" },
-        { "kind" : "Decoration" }
-      ],
-      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
-      "version" : "1.4"
-    },
-    {
-      "opname" : "OpMemberDecorateStringGOOGLE",
-      "class"  : "Annotation",
-      "opcode" : 5633,
-      "operands" : [
-        { "kind" : "IdRef",          "name" : "'Struct Type'" },
-        { "kind" : "LiteralInteger", "name" : "'Member'" },
-        { "kind" : "Decoration" }
-      ],
-      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
-      "version" : "1.4"
-    },
-    {
-      "opname" : "OpVmeImageINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5699,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Image Type'" },
-        { "kind" : "IdRef", "name" : "'Sampler'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeVmeImageINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5700,
-      "operands" : [
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Image Type'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcImePayloadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5701,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcRefPayloadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5702,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcSicPayloadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5703,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcMcePayloadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5704,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcMceResultINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5705,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcImeResultINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5706,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5707,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5708,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcImeSingleReferenceStreaminINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5709,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcImeDualReferenceStreaminINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5710,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcRefResultINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5711,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpTypeAvcSicResultINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5712,
-      "operands" : [
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5713,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Slice Type'" },
-        { "kind" : "IdRef", "name" : "'Qp'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5714,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Reference Base Penalty'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5715,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Slice Type'" },
-        { "kind" : "IdRef", "name" : "'Qp'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceSetInterShapePenaltyINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5716,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5717,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Slice Type'" },
-        { "kind" : "IdRef", "name" : "'Qp'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5718,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Direction Cost'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5719,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Slice Type'" },
-        { "kind" : "IdRef", "name" : "'Qp'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5720,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Slice Type'" },
-        { "kind" : "IdRef", "name" : "'Qp'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5721,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5722,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5723,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5724,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Packed Cost Center Delta'" },
-        { "kind" : "IdRef", "name" : "'Packed Cost Table'" },
-        { "kind" : "IdRef", "name" : "'Cost Precision'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5725,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Slice Type'" },
-        { "kind" : "IdRef", "name" : "'Qp'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5726,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5727,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5728,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5729,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Source Field Polarity'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5730,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Reference Field Polarity'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5731,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Forward Reference Field Polarity'" },
-        { "kind" : "IdRef", "name" : "'Backward Reference Field Polarity'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceConvertToImePayloadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5732,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceConvertToImeResultINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5733,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceConvertToRefPayloadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5734,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceConvertToRefResultINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5735,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceConvertToSicPayloadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5736,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceConvertToSicResultINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5737,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetMotionVectorsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5738,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetInterDistortionsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5739,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5740,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetInterMajorShapeINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5741,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetInterMinorShapeINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5742,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetInterDirectionsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5743,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5744,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5745,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5746,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
-        { "kind" : "IdRef", "name" : "'Packed Reference Parameter Field Polarities'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeInitializeINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5747,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Coord'" },
-        { "kind" : "IdRef", "name" : "'Partition Mask'" },
-        { "kind" : "IdRef", "name" : "'SAD Adjustment'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeSetSingleReferenceINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5748,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Ref Offset'" },
-        { "kind" : "IdRef", "name" : "'Search Window Config'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeSetDualReferenceINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5749,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Fwd Ref Offset'" },
-        { "kind" : "IdRef", "name" : "'Bwd Ref Offset'" },
-        { "kind" : "IdRef", "name" : "'id> Search Window Config'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeRefWindowSizeINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5750,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Search Window Config'" },
-        { "kind" : "IdRef", "name" : "'Dual Ref'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeAdjustRefOffsetINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5751,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Ref Offset'" },
-        { "kind" : "IdRef", "name" : "'Src Coord'" },
-        { "kind" : "IdRef", "name" : "'Ref Window Size'" },
-        { "kind" : "IdRef", "name" : "'Image Size'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeConvertToMcePayloadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5752,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5753,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Max Motion Vector Count'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5754,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5755,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Threshold'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeSetWeightedSadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5756,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Packed Sad Weights'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5757,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5758,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5759,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" },
-        { "kind" : "IdRef", "name" : "'Streamin Components'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5760,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" },
-        { "kind" : "IdRef", "name" : "'Streamin Components'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5761,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5762,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5763,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" },
-        { "kind" : "IdRef", "name" : "'Streamin Components'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5764,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" },
-        { "kind" : "IdRef", "name" : "'Streamin Components'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeConvertToMceResultINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5765,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5766,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5767,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5768,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5769,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5770,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" },
-        { "kind" : "IdRef", "name" : "'Major Shape'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5771,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" },
-        { "kind" : "IdRef", "name" : "'Major Shape'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5772,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" },
-        { "kind" : "IdRef", "name" : "'Major Shape'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5773,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" },
-        { "kind" : "IdRef", "name" : "'Major Shape'" },
-        { "kind" : "IdRef", "name" : "'Direction'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5774,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" },
-        { "kind" : "IdRef", "name" : "'Major Shape'" },
-        { "kind" : "IdRef", "name" : "'Direction'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5775,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" },
-        { "kind" : "IdRef", "name" : "'Major Shape'" },
-        { "kind" : "IdRef", "name" : "'Direction'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetBorderReachedINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5776,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Image Select'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5777,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5778,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5779,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5780,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcFmeInitializeINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5781,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Coord'" },
-        { "kind" : "IdRef", "name" : "'Motion Vectors'" },
-        { "kind" : "IdRef", "name" : "'Major Shapes'" },
-        { "kind" : "IdRef", "name" : "'Minor Shapes'" },
-        { "kind" : "IdRef", "name" : "'Direction'" },
-        { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
-        { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcBmeInitializeINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5782,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Coord'" },
-        { "kind" : "IdRef", "name" : "'Motion Vectors'" },
-        { "kind" : "IdRef", "name" : "'Major Shapes'" },
-        { "kind" : "IdRef", "name" : "'Minor Shapes'" },
-        { "kind" : "IdRef", "name" : "'Direction'" },
-        { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
-        { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
-        { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcRefConvertToMcePayloadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5783,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5784,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5785,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5786,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5787,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5788,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5789,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
-        { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcRefConvertToMceResultINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5790,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicInitializeINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5791,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Coord'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicConfigureSkcINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5792,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
-        { "kind" : "IdRef", "name" : "'Skip Motion Vector Mask'" },
-        { "kind" : "IdRef", "name" : "'Motion Vectors'" },
-        { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
-        { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicConfigureIpeLumaINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5793,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
-        { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
-        { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
-        { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
-        { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
-        { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
-        { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5794,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
-        { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
-        { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
-        { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
-        { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
-        { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
-        { "kind" : "IdRef", "name" : "'Left Edge Chroma Pixels'" },
-        { "kind" : "IdRef", "name" : "'Upper Left Corner Chroma Pixel'" },
-        { "kind" : "IdRef", "name" : "'Upper Edge Chroma Pixels'" },
-        { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5795,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
-        { "kind" : "IdRef", "name" : "'Direction'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicConvertToMcePayloadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5796,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5797,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5798,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Luma Mode Penalty'" },
-        { "kind" : "IdRef", "name" : "'Luma Packed Neighbor Modes'" },
-        { "kind" : "IdRef", "name" : "'Luma Packed Non Dc Penalty'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5799,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Chroma Mode Base Penalty'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5800,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5801,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Packed Sad Coefficients'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5802,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Block Based Skip Type'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicEvaluateIpeINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5803,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5804,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5805,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5806,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5807,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Src Image'" },
-        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
-        { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicConvertToMceResultINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5808,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5809,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5810,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5811,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5812,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicGetIpeChromaModeINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5813,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5814,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5815,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
-      "version" : "None"
-    },
-    {
-      "opname" : "OpSubgroupAvcSicGetInterRawSadsINTEL",
-      "class"  : "@exclude",
-      "opcode" : 5816,
-      "operands" : [
-        { "kind" : "IdResultType" },
-        { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "'Payload'" }
-      ],
-      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
-      "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetRayTMinKHR",
-        "class" : "Reserved",
-        "opcode" : 6016,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetRayFlagsKHR",
-        "class" : "Reserved",
-        "opcode" : 6017,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionTKHR",
-        "class" : "Reserved",
-        "opcode" : 6018,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
-        "class" : "Reserved",
-        "opcode" : 6019,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionInstanceIdKHR",
-        "class" : "Reserved",
-        "opcode" : 6020,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
-        "class" : "Reserved",
-        "opcode" : 6021,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionGeometryIndexKHR",
-        "class" : "Reserved",
-        "opcode" : 6022,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionPrimitiveIndexKHR",
-        "class" : "Reserved",
-        "opcode" : 6023,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionBarycentricsKHR",
-        "class" : "Reserved",
-        "opcode" : 6024,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionFrontFaceKHR",
-        "class" : "Reserved",
-        "opcode" : 6025,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
-        "class" : "Reserved",
-        "opcode" : 6026,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionObjectRayDirectionKHR",
-        "class" : "Reserved",
-        "opcode" : 6027,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionObjectRayOriginKHR",
-        "class" : "Reserved",
-        "opcode" : 6028,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetWorldRayDirectionKHR",
-        "class" : "Reserved",
-        "opcode" : 6029,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetWorldRayOriginKHR",
-        "class" : "Reserved",
-        "opcode" : 6030,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionObjectToWorldKHR",
-        "class" : "Reserved",
-        "opcode" : 6031,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-            {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    },
-    {
-        "opname" : "OpRayQueryGetIntersectionWorldToObjectKHR",
-        "class" : "Reserved",
-        "opcode" : 6032,
-        "operands" : [
-            { "kind" : "IdResultType" },
-            { "kind" : "IdResult" },
-            {
-                "kind" : "IdRef",
-                "name" : "'RayQuery'"
-            },
-             {
-                "kind" : "IdRef",
-                "name" : "'Intersection'"
-            }
-        ],
-        "capabilities" : [ "RayQueryProvisionalKHR" ],
-        "extensions" : [ "SPV_KHR_ray_query" ],
-        "version" : "None"
-    }
-  ],
-  "operand_kinds" : [
-    {
-      "category" : "BitEnum",
-      "kind" : "ImageOperands",
-      "enumerants" : [
-        {
-          "enumerant" : "None",
-          "value" : "0x0000"
-        },
-        {
-          "enumerant" : "Bias",
-          "value" : "0x0001",
-          "capabilities" : [ "Shader" ],
-          "parameters" : [
-            { "kind" : "IdRef" }
-          ]
-        },
-        {
-          "enumerant" : "Lod",
-          "value" : "0x0002",
-          "parameters" : [
-            { "kind" : "IdRef" }
-          ]
-        },
-        {
-          "enumerant" : "Grad",
-          "value" : "0x0004",
-          "parameters" : [
-            { "kind" : "IdRef" },
-            { "kind" : "IdRef" }
-          ]
-        },
-        {
-          "enumerant" : "ConstOffset",
-          "value" : "0x0008",
-          "parameters" : [
-            { "kind" : "IdRef" }
-          ]
-        },
-        {
-          "enumerant" : "Offset",
-          "value" : "0x0010",
-          "capabilities" : [ "ImageGatherExtended" ],
-          "parameters" : [
-            { "kind" : "IdRef" }
-          ]
-        },
-        {
-          "enumerant" : "ConstOffsets",
-          "value" : "0x0020",
-          "capabilities" : [ "ImageGatherExtended" ],
-          "parameters" : [
-            { "kind" : "IdRef" }
-          ]
-        },
-        {
-          "enumerant" : "Sample",
-          "value" : "0x0040",
-          "parameters" : [
-            { "kind" : "IdRef" }
-          ]
-        },
-        {
-          "enumerant" : "MinLod",
-          "value" : "0x0080",
-          "capabilities" : [ "MinLod" ],
-          "parameters" : [
-            { "kind" : "IdRef" }
-          ]
-        },
-        {
-          "enumerant" : "MakeTexelAvailable",
-          "value" : "0x0100",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "parameters" : [
-            { "kind" : "IdScope" }
-          ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "MakeTexelAvailableKHR",
-          "value" : "0x0100",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "parameters" : [
-            { "kind" : "IdScope" }
-          ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "MakeTexelVisible",
-          "value" : "0x0200",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "parameters" : [
-            { "kind" : "IdScope" }
-          ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "MakeTexelVisibleKHR",
-          "value" : "0x0200",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "parameters" : [
-            { "kind" : "IdScope" }
-          ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "NonPrivateTexel",
-          "value" : "0x0400",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "NonPrivateTexelKHR",
-          "value" : "0x0400",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "VolatileTexel",
-          "value" : "0x0800",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "VolatileTexelKHR",
-          "value" : "0x0800",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "SignExtend",
-          "value" : "0x1000",
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "ZeroExtend",
-          "value" : "0x2000",
-          "version" : "1.4"
-        }
-      ]
-    },
-    {
-      "category" : "BitEnum",
-      "kind" : "FPFastMathMode",
-      "enumerants" : [
-        {
-          "enumerant" : "None",
-          "value" : "0x0000"
-        },
-        {
-          "enumerant" : "NotNaN",
-          "value" : "0x0001",
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "NotInf",
-          "value" : "0x0002",
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "NSZ",
-          "value" : "0x0004",
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "AllowRecip",
-          "value" : "0x0008",
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Fast",
-          "value" : "0x0010",
-          "capabilities" : [ "Kernel" ]
-        }
-      ]
-    },
-    {
-      "category" : "BitEnum",
-      "kind" : "SelectionControl",
-      "enumerants" : [
-        {
-          "enumerant" : "None",
-          "value" : "0x0000"
-        },
-        {
-          "enumerant" : "Flatten",
-          "value" : "0x0001"
-        },
-        {
-          "enumerant" : "DontFlatten",
-          "value" : "0x0002"
-        }
-      ]
-    },
-    {
-      "category" : "BitEnum",
-      "kind" : "LoopControl",
-      "enumerants" : [
-        {
-          "enumerant" : "None",
-          "value" : "0x0000"
-        },
-        {
-          "enumerant" : "Unroll",
-          "value" : "0x0001"
-        },
-        {
-          "enumerant" : "DontUnroll",
-          "value" : "0x0002"
-        },
-        {
-          "enumerant" : "DependencyInfinite",
-          "value" : "0x0004",
-          "version" : "1.1"
-        },
-        {
-          "enumerant" : "DependencyLength",
-          "value" : "0x0008",
-          "parameters" : [
-            { "kind" : "LiteralInteger" }
-          ],
-          "version" : "1.1"
-        },
-        {
-          "enumerant" : "MinIterations",
-          "value" : "0x0010",
-          "parameters" : [
-            { "kind" : "LiteralInteger" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "MaxIterations",
-          "value" : "0x0020",
-          "parameters" : [
-            { "kind" : "LiteralInteger" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "IterationMultiple",
-          "value" : "0x0040",
-          "parameters" : [
-            { "kind" : "LiteralInteger" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "PeelCount",
-          "value" : "0x0080",
-          "parameters" : [
-            { "kind" : "LiteralInteger" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "PartialCount",
-          "value" : "0x0100",
-          "parameters" : [
-            { "kind" : "LiteralInteger" }
-          ],
-          "version" : "1.4"
-        }
-      ]
-    },
-    {
-      "category" : "BitEnum",
-      "kind" : "FunctionControl",
-      "enumerants" : [
-        {
-          "enumerant" : "None",
-          "value" : "0x0000"
-        },
-        {
-          "enumerant" : "Inline",
-          "value" : "0x0001"
-        },
-        {
-          "enumerant" : "DontInline",
-          "value" : "0x0002"
-        },
-        {
-          "enumerant" : "Pure",
-          "value" : "0x0004"
-        },
-        {
-          "enumerant" : "Const",
-          "value" : "0x0008"
-        }
-      ]
-    },
-    {
-      "category" : "BitEnum",
-      "kind" : "MemorySemantics",
-      "enumerants" : [
-        {
-          "enumerant" : "Relaxed",
-          "value" : "0x0000"
-        },
-        {
-          "enumerant" : "None",
-          "value" : "0x0000"
-        },
-        {
-          "enumerant" : "Acquire",
-          "value" : "0x0002"
-        },
-        {
-          "enumerant" : "Release",
-          "value" : "0x0004"
-        },
-        {
-          "enumerant" : "AcquireRelease",
-          "value" : "0x0008"
-        },
-        {
-          "enumerant" : "SequentiallyConsistent",
-          "value" : "0x0010"
-        },
-        {
-          "enumerant" : "UniformMemory",
-          "value" : "0x0040",
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "SubgroupMemory",
-          "value" : "0x0080"
-        },
-        {
-          "enumerant" : "WorkgroupMemory",
-          "value" : "0x0100"
-        },
-        {
-          "enumerant" : "CrossWorkgroupMemory",
-          "value" : "0x0200"
-        },
-        {
-          "enumerant" : "AtomicCounterMemory",
-          "value" : "0x0400",
-          "capabilities" : [ "AtomicStorage" ]
-        },
-        {
-          "enumerant" : "ImageMemory",
-          "value" : "0x0800"
-        },
-        {
-          "enumerant" : "OutputMemory",
-          "value" : "0x1000",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "OutputMemoryKHR",
-          "value" : "0x1000",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "MakeAvailable",
-          "value" : "0x2000",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "MakeAvailableKHR",
-          "value" : "0x2000",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "MakeVisible",
-          "value" : "0x4000",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "MakeVisibleKHR",
-          "value" : "0x4000",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "Volatile",
-          "value" : "0x8000",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        }
-      ]
-    },
-    {
-      "category" : "BitEnum",
-      "kind" : "MemoryAccess",
-      "enumerants" : [
-        {
-          "enumerant" : "None",
-          "value" : "0x0000"
-        },
-        {
-          "enumerant" : "Volatile",
-          "value" : "0x0001"
-        },
-        {
-          "enumerant" : "Aligned",
-          "value" : "0x0002",
-          "parameters" : [
-            { "kind" : "LiteralInteger" }
-          ]
-        },
-        {
-          "enumerant" : "Nontemporal",
-          "value" : "0x0004"
-        },
-        {
-          "enumerant" : "MakePointerAvailable",
-          "value" : "0x0008",
-          "parameters" : [
-            { "kind" : "IdScope" }
-          ],
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "MakePointerAvailableKHR",
-          "value" : "0x0008",
-          "parameters" : [
-            { "kind" : "IdScope" }
-          ],
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "MakePointerVisible",
-          "value" : "0x0010",
-          "parameters" : [
-            { "kind" : "IdScope" }
-          ],
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "MakePointerVisibleKHR",
-          "value" : "0x0010",
-          "parameters" : [
-            { "kind" : "IdScope" }
-          ],
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "NonPrivatePointer",
-          "value" : "0x0020",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "NonPrivatePointerKHR",
-          "value" : "0x0020",
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        }
-      ]
-    },
-    {
-      "category" : "BitEnum",
-      "kind" : "KernelProfilingInfo",
-      "enumerants" : [
-        {
-          "enumerant" : "None",
-          "value" : "0x0000"
-        },
-        {
-          "enumerant" : "CmdExecTime",
-          "value" : "0x0001",
-          "capabilities" : [ "Kernel" ]
-        }
-      ]
-    },
-    {
-      "category" : "BitEnum",
-      "kind" : "RayFlags",
-      "enumerants" : [
-        {
-          "enumerant" : "NoneKHR",
-          "value" : "0x0000",
-          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "OpaqueKHR",
-          "value" : "0x0001",
-          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "NoOpaqueKHR",
-          "value" : "0x0002",
-          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "TerminateOnFirstHitKHR",
-          "value" : "0x0004",
-          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SkipClosestHitShaderKHR",
-          "value" : "0x0008",
-          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "CullBackFacingTrianglesKHR",
-          "value" : "0x0010",
-          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "CullFrontFacingTrianglesKHR",
-          "value" : "0x0020",
-          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "CullOpaqueKHR",
-          "value" : "0x0040",
-          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "CullNoOpaqueKHR",
-          "value" : "0x0080",
-          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SkipTrianglesKHR",
-          "value" : "0x0100",
-          "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SkipAABBsKHR",
-          "value" : "0x0200",
-          "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ],
-          "version" : "None"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "SourceLanguage",
-      "enumerants" : [
-        {
-          "enumerant" : "Unknown",
-          "value" : 0
-        },
-        {
-          "enumerant" : "ESSL",
-          "value" : 1
-        },
-        {
-          "enumerant" : "GLSL",
-          "value" : 2
-        },
-        {
-          "enumerant" : "OpenCL_C",
-          "value" : 3
-        },
-        {
-          "enumerant" : "OpenCL_CPP",
-          "value" : 4
-        },
-        {
-          "enumerant" : "HLSL",
-          "value" : 5
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "ExecutionModel",
-      "enumerants" : [
-        {
-          "enumerant" : "Vertex",
-          "value" : 0,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "TessellationControl",
-          "value" : 1,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "TessellationEvaluation",
-          "value" : 2,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "Geometry",
-          "value" : 3,
-          "capabilities" : [ "Geometry" ]
-        },
-        {
-          "enumerant" : "Fragment",
-          "value" : 4,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "GLCompute",
-          "value" : 5,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Kernel",
-          "value" : 6,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "TaskNV",
-          "value" : 5267,
-          "capabilities" : [ "MeshShadingNV" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "MeshNV",
-          "value" : 5268,
-          "capabilities" : [ "MeshShadingNV" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayGenerationNV",
-          "value" : 5313,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayGenerationKHR",
-          "value" : 5313,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "IntersectionNV",
-          "value" : 5314,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "IntersectionKHR",
-          "value" : 5314,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "AnyHitNV",
-          "value" : 5315,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "AnyHitKHR",
-          "value" : 5315,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ClosestHitNV",
-          "value" : 5316,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ClosestHitKHR",
-          "value" : 5316,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "MissNV",
-          "value" : 5317,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "MissKHR",
-          "value" : 5317,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "CallableNV",
-          "value" : 5318,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "CallableKHR",
-          "value" : 5318,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "AddressingModel",
-      "enumerants" : [
-        {
-          "enumerant" : "Logical",
-          "value" : 0
-        },
-        {
-          "enumerant" : "Physical32",
-          "value" : 1,
-          "capabilities" : [ "Addresses" ]
-        },
-        {
-          "enumerant" : "Physical64",
-          "value" : 2,
-          "capabilities" : [ "Addresses" ]
-        },
-        {
-          "enumerant" : "PhysicalStorageBuffer64",
-          "value" : 5348,
-          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
-          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "PhysicalStorageBuffer64EXT",
-          "value" : 5348,
-          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
-          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
-          "version" : "1.5"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "MemoryModel",
-      "enumerants" : [
-        {
-          "enumerant" : "Simple",
-          "value" : 0,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "GLSL450",
-          "value" : 1,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "OpenCL",
-          "value" : 2,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Vulkan",
-          "value" : 3,
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "VulkanKHR",
-          "value" : 3,
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "ExecutionMode",
-      "enumerants" : [
-        {
-          "enumerant" : "Invocations",
-          "value" : 0,
-          "capabilities" : [ "Geometry" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" }
-          ]
-        },
-        {
-          "enumerant" : "SpacingEqual",
-          "value" : 1,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "SpacingFractionalEven",
-          "value" : 2,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "SpacingFractionalOdd",
-          "value" : 3,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "VertexOrderCw",
-          "value" : 4,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "VertexOrderCcw",
-          "value" : 5,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "PixelCenterInteger",
-          "value" : 6,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "OriginUpperLeft",
-          "value" : 7,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "OriginLowerLeft",
-          "value" : 8,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "EarlyFragmentTests",
-          "value" : 9,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "PointMode",
-          "value" : 10,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "Xfb",
-          "value" : 11,
-          "capabilities" : [ "TransformFeedback" ]
-        },
-        {
-          "enumerant" : "DepthReplacing",
-          "value" : 12,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "DepthGreater",
-          "value" : 14,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "DepthLess",
-          "value" : 15,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "DepthUnchanged",
-          "value" : 16,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "LocalSize",
-          "value" : 17,
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'x size'" },
-            { "kind" : "LiteralInteger", "name" : "'y size'" },
-            { "kind" : "LiteralInteger", "name" : "'z size'" }
-          ]
-        },
-        {
-          "enumerant" : "LocalSizeHint",
-          "value" : 18,
-          "capabilities" : [ "Kernel" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'x size'" },
-            { "kind" : "LiteralInteger", "name" : "'y size'" },
-            { "kind" : "LiteralInteger", "name" : "'z size'" }
-          ]
-        },
-        {
-          "enumerant" : "InputPoints",
-          "value" : 19,
-          "capabilities" : [ "Geometry" ]
-        },
-        {
-          "enumerant" : "InputLines",
-          "value" : 20,
-          "capabilities" : [ "Geometry" ]
-        },
-        {
-          "enumerant" : "InputLinesAdjacency",
-          "value" : 21,
-          "capabilities" : [ "Geometry" ]
-        },
-        {
-          "enumerant" : "Triangles",
-          "value" : 22,
-          "capabilities" : [ "Geometry", "Tessellation" ]
-        },
-        {
-          "enumerant" : "InputTrianglesAdjacency",
-          "value" : 23,
-          "capabilities" : [ "Geometry" ]
-        },
-        {
-          "enumerant" : "Quads",
-          "value" : 24,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "Isolines",
-          "value" : 25,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "OutputVertices",
-          "value" : 26,
-          "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
-          ]
-        },
-        {
-          "enumerant" : "OutputPoints",
-          "value" : 27,
-          "capabilities" : [ "Geometry", "MeshShadingNV" ]
-        },
-        {
-          "enumerant" : "OutputLineStrip",
-          "value" : 28,
-          "capabilities" : [ "Geometry" ]
-        },
-        {
-          "enumerant" : "OutputTriangleStrip",
-          "value" : 29,
-          "capabilities" : [ "Geometry" ]
-        },
-        {
-          "enumerant" : "VecTypeHint",
-          "value" : 30,
-          "capabilities" : [ "Kernel" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Vector type'" }
-          ]
-        },
-        {
-          "enumerant" : "ContractionOff",
-          "value" : 31,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Initializer",
-          "value" : 33,
-          "capabilities" : [ "Kernel" ],
-          "version" : "1.1"
-        },
-        {
-          "enumerant" : "Finalizer",
-          "value" : 34,
-          "capabilities" : [ "Kernel" ],
-          "version" : "1.1"
-        },
-        {
-          "enumerant" : "SubgroupSize",
-          "value" : 35,
-          "capabilities" : [ "SubgroupDispatch" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" }
-          ],
-          "version" : "1.1"
-        },
-        {
-          "enumerant" : "SubgroupsPerWorkgroup",
-          "value" : 36,
-          "capabilities" : [ "SubgroupDispatch" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" }
-          ],
-          "version" : "1.1"
-        },
-        {
-          "enumerant" : "SubgroupsPerWorkgroupId",
-          "value" : 37,
-          "capabilities" : [ "SubgroupDispatch" ],
-          "parameters" : [
-            { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" }
-          ],
-          "version" : "1.2"
-        },
-        {
-          "enumerant" : "LocalSizeId",
-          "value" : 38,
-          "parameters" : [
-            { "kind" : "IdRef", "name" : "'x size'" },
-            { "kind" : "IdRef", "name" : "'y size'" },
-            { "kind" : "IdRef", "name" : "'z size'" }
-          ],
-          "version" : "1.2"
-        },
-        {
-          "enumerant" : "LocalSizeHintId",
-          "value" : 39,
-          "capabilities" : [ "Kernel" ],
-          "parameters" : [
-            { "kind" : "IdRef", "name" : "'Local Size Hint'" }
-          ],
-          "version" : "1.2"
-        },
-        {
-          "enumerant" : "PostDepthCoverage",
-          "value" : 4446,
-          "capabilities" : [ "SampleMaskPostDepthCoverage" ],
-          "extensions" : [ "SPV_KHR_post_depth_coverage" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "DenormPreserve",
-          "value" : 4459,
-          "capabilities" : [ "DenormPreserve" ],
-          "extensions" : [ "SPV_KHR_float_controls" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "DenormFlushToZero",
-          "value" : 4460,
-          "capabilities" : [ "DenormFlushToZero" ],
-          "extensions" : [ "SPV_KHR_float_controls" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "SignedZeroInfNanPreserve",
-          "value" : 4461,
-          "capabilities" : [ "SignedZeroInfNanPreserve" ],
-          "extensions" : [ "SPV_KHR_float_controls" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "RoundingModeRTE",
-          "value" : 4462,
-          "capabilities" : [ "RoundingModeRTE" ],
-          "extensions" : [ "SPV_KHR_float_controls" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "RoundingModeRTZ",
-          "value" : 4463,
-          "capabilities" : [ "RoundingModeRTZ" ],
-          "extensions" : [ "SPV_KHR_float_controls" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "StencilRefReplacingEXT",
-          "value" : 5027,
-          "capabilities" : [ "StencilExportEXT" ],
-          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "OutputLinesNV",
-          "value" : 5269,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "OutputPrimitivesNV",
-          "value" : 5270,
-          "capabilities" : [ "MeshShadingNV" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
-          ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "DerivativeGroupQuadsNV",
-          "value" : 5289,
-          "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ],
-          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "DerivativeGroupLinearNV",
-          "value" : 5290,
-          "capabilities" : [ "ComputeDerivativeGroupLinearNV" ],
-          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "OutputTrianglesNV",
-          "value" : 5298,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PixelInterlockOrderedEXT",
-          "value" : 5366,
-          "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
-          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PixelInterlockUnorderedEXT",
-          "value" : 5367,
-          "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
-          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SampleInterlockOrderedEXT",
-          "value" : 5368,
-          "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
-          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SampleInterlockUnorderedEXT",
-          "value" : 5369,
-          "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
-          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShadingRateInterlockOrderedEXT",
-          "value" : 5370,
-          "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
-          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShadingRateInterlockUnorderedEXT",
-          "value" : 5371,
-          "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
-          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
-          "version" : "None"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "StorageClass",
-      "enumerants" : [
-        {
-          "enumerant" : "UniformConstant",
-          "value" : 0
-        },
-        {
-          "enumerant" : "Input",
-          "value" : 1
-        },
-        {
-          "enumerant" : "Uniform",
-          "value" : 2,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Output",
-          "value" : 3,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Workgroup",
-          "value" : 4
-        },
-        {
-          "enumerant" : "CrossWorkgroup",
-          "value" : 5
-        },
-        {
-          "enumerant" : "Private",
-          "value" : 6,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Function",
-          "value" : 7
-        },
-        {
-          "enumerant" : "Generic",
-          "value" : 8,
-          "capabilities" : [ "GenericPointer" ]
-        },
-        {
-          "enumerant" : "PushConstant",
-          "value" : 9,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "AtomicCounter",
-          "value" : 10,
-          "capabilities" : [ "AtomicStorage" ]
-        },
-        {
-          "enumerant" : "Image",
-          "value" : 11
-        },
-        {
-          "enumerant" : "StorageBuffer",
-          "value" : 12,
-          "extensions" : [
-            "SPV_KHR_storage_buffer_storage_class",
-            "SPV_KHR_variable_pointers"
-          ],
-          "capabilities" : [ "Shader" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "CallableDataNV",
-          "value" : 5328,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "CallableDataKHR",
-          "value" : 5328,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "IncomingCallableDataNV",
-          "value" : 5329,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "IncomingCallableDataKHR",
-          "value" : 5329,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayPayloadNV",
-          "value" : 5338,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayPayloadKHR",
-          "value" : 5338,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "HitAttributeNV",
-          "value" : 5339,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "HitAttributeKHR",
-          "value" : 5339,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "IncomingRayPayloadNV",
-          "value" : 5342,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "IncomingRayPayloadKHR",
-          "value" : 5342,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShaderRecordBufferNV",
-          "value" : 5343,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShaderRecordBufferKHR",
-          "value" : 5343,
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PhysicalStorageBuffer",
-          "value" : 5349,
-          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
-          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "PhysicalStorageBufferEXT",
-          "value" : 5349,
-          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
-          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
-          "version" : "1.5"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "Dim",
-      "enumerants" : [
-        {
-          "enumerant" : "1D",
-          "value" : 0,
-          "capabilities" : [ "Sampled1D", "Image1D" ]
-        },
-        {
-          "enumerant" : "2D",
-          "value" : 1,
-          "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ]
-        },
-        {
-          "enumerant" : "3D",
-          "value" : 2
-        },
-        {
-          "enumerant" : "Cube",
-          "value" : 3,
-          "capabilities" : [ "Shader", "ImageCubeArray" ]
-        },
-        {
-          "enumerant" : "Rect",
-          "value" : 4,
-          "capabilities" : [ "SampledRect", "ImageRect" ]
-        },
-        {
-          "enumerant" : "Buffer",
-          "value" : 5,
-          "capabilities" : [ "SampledBuffer", "ImageBuffer" ]
-        },
-        {
-          "enumerant" : "SubpassData",
-          "value" : 6,
-          "capabilities" : [ "InputAttachment" ]
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "SamplerAddressingMode",
-      "enumerants" : [
-        {
-          "enumerant" : "None",
-          "value" : 0,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "ClampToEdge",
-          "value" : 1,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Clamp",
-          "value" : 2,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Repeat",
-          "value" : 3,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "RepeatMirrored",
-          "value" : 4,
-          "capabilities" : [ "Kernel" ]
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "SamplerFilterMode",
-      "enumerants" : [
-        {
-          "enumerant" : "Nearest",
-          "value" : 0,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Linear",
-          "value" : 1,
-          "capabilities" : [ "Kernel" ]
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "ImageFormat",
-      "enumerants" : [
-        {
-          "enumerant" : "Unknown",
-          "value" : 0
-        },
-        {
-          "enumerant" : "Rgba32f",
-          "value" : 1,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Rgba16f",
-          "value" : 2,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "R32f",
-          "value" : 3,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Rgba8",
-          "value" : 4,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Rgba8Snorm",
-          "value" : 5,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Rg32f",
-          "value" : 6,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rg16f",
-          "value" : 7,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "R11fG11fB10f",
-          "value" : 8,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "R16f",
-          "value" : 9,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rgba16",
-          "value" : 10,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rgb10A2",
-          "value" : 11,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rg16",
-          "value" : 12,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rg8",
-          "value" : 13,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "R16",
-          "value" : 14,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "R8",
-          "value" : 15,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rgba16Snorm",
-          "value" : 16,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rg16Snorm",
-          "value" : 17,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rg8Snorm",
-          "value" : 18,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "R16Snorm",
-          "value" : 19,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "R8Snorm",
-          "value" : 20,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rgba32i",
-          "value" : 21,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Rgba16i",
-          "value" : 22,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Rgba8i",
-          "value" : 23,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "R32i",
-          "value" : 24,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Rg32i",
-          "value" : 25,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rg16i",
-          "value" : 26,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rg8i",
-          "value" : 27,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "R16i",
-          "value" : 28,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "R8i",
-          "value" : 29,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rgba32ui",
-          "value" : 30,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Rgba16ui",
-          "value" : 31,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Rgba8ui",
-          "value" : 32,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "R32ui",
-          "value" : 33,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Rgb10a2ui",
-          "value" : 34,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rg32ui",
-          "value" : 35,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rg16ui",
-          "value" : 36,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "Rg8ui",
-          "value" : 37,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "R16ui",
-          "value" : 38,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        },
-        {
-          "enumerant" : "R8ui",
-          "value" : 39,
-          "capabilities" : [ "StorageImageExtendedFormats" ]
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "ImageChannelOrder",
-      "enumerants" : [
-        {
-          "enumerant" : "R",
-          "value" : 0,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "A",
-          "value" : 1,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "RG",
-          "value" : 2,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "RA",
-          "value" : 3,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "RGB",
-          "value" : 4,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "RGBA",
-          "value" : 5,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "BGRA",
-          "value" : 6,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "ARGB",
-          "value" : 7,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Intensity",
-          "value" : 8,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Luminance",
-          "value" : 9,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Rx",
-          "value" : 10,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "RGx",
-          "value" : 11,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "RGBx",
-          "value" : 12,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Depth",
-          "value" : 13,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "DepthStencil",
-          "value" : 14,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "sRGB",
-          "value" : 15,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "sRGBx",
-          "value" : 16,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "sRGBA",
-          "value" : 17,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "sBGRA",
-          "value" : 18,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "ABGR",
-          "value" : 19,
-          "capabilities" : [ "Kernel" ]
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "ImageChannelDataType",
-      "enumerants" : [
-        {
-          "enumerant" : "SnormInt8",
-          "value" : 0,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "SnormInt16",
-          "value" : 1,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "UnormInt8",
-          "value" : 2,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "UnormInt16",
-          "value" : 3,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "UnormShort565",
-          "value" : 4,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "UnormShort555",
-          "value" : 5,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "UnormInt101010",
-          "value" : 6,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "SignedInt8",
-          "value" : 7,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "SignedInt16",
-          "value" : 8,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "SignedInt32",
-          "value" : 9,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "UnsignedInt8",
-          "value" : 10,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "UnsignedInt16",
-          "value" : 11,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "UnsignedInt32",
-          "value" : 12,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "HalfFloat",
-          "value" : 13,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Float",
-          "value" : 14,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "UnormInt24",
-          "value" : 15,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "UnormInt101010_2",
-          "value" : 16,
-          "capabilities" : [ "Kernel" ]
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "FPRoundingMode",
-      "enumerants" : [
-        {
-          "enumerant" : "RTE",
-          "value" : 0
-        },
-        {
-          "enumerant" : "RTZ",
-          "value" : 1
-        },
-        {
-          "enumerant" : "RTP",
-          "value" : 2
-        },
-        {
-          "enumerant" : "RTN",
-          "value" : 3
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "LinkageType",
-      "enumerants" : [
-        {
-          "enumerant" : "Export",
-          "value" : 0,
-          "capabilities" : [ "Linkage" ]
-        },
-        {
-          "enumerant" : "Import",
-          "value" : 1,
-          "capabilities" : [ "Linkage" ]
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "AccessQualifier",
-      "enumerants" : [
-        {
-          "enumerant" : "ReadOnly",
-          "value" : 0,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "WriteOnly",
-          "value" : 1,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "ReadWrite",
-          "value" : 2,
-          "capabilities" : [ "Kernel" ]
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "FunctionParameterAttribute",
-      "enumerants" : [
-        {
-          "enumerant" : "Zext",
-          "value" : 0,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Sext",
-          "value" : 1,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "ByVal",
-          "value" : 2,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Sret",
-          "value" : 3,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "NoAlias",
-          "value" : 4,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "NoCapture",
-          "value" : 5,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "NoWrite",
-          "value" : 6,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "NoReadWrite",
-          "value" : 7,
-          "capabilities" : [ "Kernel" ]
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "Decoration",
-      "enumerants" : [
-        {
-          "enumerant" : "RelaxedPrecision",
-          "value" : 0,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "SpecId",
-          "value" : 1,
-          "capabilities" : [ "Shader", "Kernel" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
-          ]
-        },
-        {
-          "enumerant" : "Block",
-          "value" : 2,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "BufferBlock",
-          "value" : 3,
-          "capabilities" : [ "Shader" ],
-          "lastVersion" : "1.3"
-        },
-        {
-          "enumerant" : "RowMajor",
-          "value" : 4,
-          "capabilities" : [ "Matrix" ]
-        },
-        {
-          "enumerant" : "ColMajor",
-          "value" : 5,
-          "capabilities" : [ "Matrix" ]
-        },
-        {
-          "enumerant" : "ArrayStride",
-          "value" : 6,
-          "capabilities" : [ "Shader" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Array Stride'" }
-          ]
-        },
-        {
-          "enumerant" : "MatrixStride",
-          "value" : 7,
-          "capabilities" : [ "Matrix" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" }
-          ]
-        },
-        {
-          "enumerant" : "GLSLShared",
-          "value" : 8,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "GLSLPacked",
-          "value" : 9,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "CPacked",
-          "value" : 10,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "BuiltIn",
-          "value" : 11,
-          "parameters" : [
-            { "kind" : "BuiltIn" }
-          ]
-        },
-        {
-          "enumerant" : "NoPerspective",
-          "value" : 13,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Flat",
-          "value" : 14,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Patch",
-          "value" : 15,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "Centroid",
-          "value" : 16,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Sample",
-          "value" : 17,
-          "capabilities" : [ "SampleRateShading" ]
-        },
-        {
-          "enumerant" : "Invariant",
-          "value" : 18,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Restrict",
-          "value" : 19
-        },
-        {
-          "enumerant" : "Aliased",
-          "value" : 20
-        },
-        {
-          "enumerant" : "Volatile",
-          "value" : 21
-        },
-        {
-          "enumerant" : "Constant",
-          "value" : 22,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Coherent",
-          "value" : 23
-        },
-        {
-          "enumerant" : "NonWritable",
-          "value" : 24
-        },
-        {
-          "enumerant" : "NonReadable",
-          "value" : 25
-        },
-        {
-          "enumerant" : "Uniform",
-          "value" : 26,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "UniformId",
-          "value" : 27,
-          "capabilities" : [ "Shader" ],
-          "parameters" : [
-            { "kind" : "IdScope",           "name" : "'Execution'" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "SaturatedConversion",
-          "value" : 28,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Stream",
-          "value" : 29,
-          "capabilities" : [ "GeometryStreams" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Stream Number'" }
-          ]
-        },
-        {
-          "enumerant" : "Location",
-          "value" : 30,
-          "capabilities" : [ "Shader" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Location'" }
-          ]
-        },
-        {
-          "enumerant" : "Component",
-          "value" : 31,
-          "capabilities" : [ "Shader" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Component'" }
-          ]
-        },
-        {
-          "enumerant" : "Index",
-          "value" : 32,
-          "capabilities" : [ "Shader" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Index'" }
-          ]
-        },
-        {
-          "enumerant" : "Binding",
-          "value" : 33,
-          "capabilities" : [ "Shader" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Binding Point'" }
-          ]
-        },
-        {
-          "enumerant" : "DescriptorSet",
-          "value" : 34,
-          "capabilities" : [ "Shader" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
-          ]
-        },
-        {
-          "enumerant" : "Offset",
-          "value" : 35,
-          "capabilities" : [ "Shader" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
-          ]
-        },
-        {
-          "enumerant" : "XfbBuffer",
-          "value" : 36,
-          "capabilities" : [ "TransformFeedback" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
-          ]
-        },
-        {
-          "enumerant" : "XfbStride",
-          "value" : 37,
-          "capabilities" : [ "TransformFeedback" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
-          ]
-        },
-        {
-          "enumerant" : "FuncParamAttr",
-          "value" : 38,
-          "capabilities" : [ "Kernel" ],
-          "parameters" : [
-            { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" }
-          ]
-        },
-        {
-          "enumerant" : "FPRoundingMode",
-          "value" : 39,
-          "parameters" : [
-            { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" }
-          ]
-        },
-        {
-          "enumerant" : "FPFastMathMode",
-          "value" : 40,
-          "capabilities" : [ "Kernel" ],
-          "parameters" : [
-            { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
-          ]
-        },
-        {
-          "enumerant" : "LinkageAttributes",
-          "value" : 41,
-          "capabilities" : [ "Linkage" ],
-          "parameters" : [
-            { "kind" : "LiteralString", "name" : "'Name'" },
-            { "kind" : "LinkageType",   "name" : "'Linkage Type'" }
-          ]
-        },
-        {
-          "enumerant" : "NoContraction",
-          "value" : 42,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "InputAttachmentIndex",
-          "value" : 43,
-          "capabilities" : [ "InputAttachment" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
-          ]
-        },
-        {
-          "enumerant" : "Alignment",
-          "value" : 44,
-          "capabilities" : [ "Kernel" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Alignment'" }
-          ]
-        },
-        {
-          "enumerant" : "MaxByteOffset",
-          "value" : 45,
-          "capabilities" : [ "Addresses" ],
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" }
-          ],
-          "version" : "1.1"
-        },
-        {
-          "enumerant" : "AlignmentId",
-          "value" : 46,
-          "capabilities" : [ "Kernel" ],
-          "parameters" : [
-            { "kind" : "IdRef", "name" : "'Alignment'" }
-          ],
-          "version" : "1.2"
-        },
-        {
-          "enumerant" : "MaxByteOffsetId",
-          "value" : 47,
-          "capabilities" : [ "Addresses" ],
-          "parameters" : [
-            { "kind" : "IdRef", "name" : "'Max Byte Offset'" }
-          ],
-          "version" : "1.2"
-        },
-        {
-          "enumerant" : "NoSignedWrap",
-          "value" : 4469,
-          "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "NoUnsignedWrap",
-          "value" : 4470,
-          "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "ExplicitInterpAMD",
-          "value" : 4999,
-          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "OverrideCoverageNV",
-          "value" : 5248,
-          "capabilities" : [ "SampleMaskOverrideCoverageNV" ],
-          "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PassthroughNV",
-          "value" : 5250,
-          "capabilities" : [ "GeometryShaderPassthroughNV" ],
-          "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ViewportRelativeNV",
-          "value" : 5252,
-          "capabilities" : [ "ShaderViewportMaskNV" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SecondaryViewportRelativeNV",
-          "value" : 5256,
-          "capabilities" : [ "ShaderStereoViewNV" ],
-          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
-          "version" : "None",
-          "parameters" : [
-            { "kind" : "LiteralInteger", "name" : "'Offset'" }
-          ]
-        },
-        {
-          "enumerant" : "PerPrimitiveNV",
-          "value" : 5271,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PerViewNV",
-          "value" : 5272,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PerTaskNV",
-          "value" : 5273,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PerVertexNV",
-          "value" : 5285,
-          "capabilities" : [ "FragmentBarycentricNV" ],
-          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "NonUniform",
-          "value" : 5300,
-          "capabilities" : [ "ShaderNonUniform" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "NonUniformEXT",
-          "value" : 5300,
-          "capabilities" : [ "ShaderNonUniform" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "RestrictPointer",
-          "value" : 5355,
-          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
-          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "RestrictPointerEXT",
-          "value" : 5355,
-          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
-          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "AliasedPointer",
-          "value" : 5356,
-          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
-          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "AliasedPointerEXT",
-          "value" : 5356,
-          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
-          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "CounterBuffer",
-          "value" : 5634,
-          "parameters" : [
-            { "kind" : "IdRef", "name" : "'Counter Buffer'" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "HlslCounterBufferGOOGLE",
-          "value" : 5634,
-          "parameters" : [
-            { "kind" : "IdRef", "name" : "'Counter Buffer'" }
-          ],
-          "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "UserSemantic",
-          "value" : 5635,
-          "parameters" : [
-            { "kind" : "LiteralString", "name" : "'Semantic'" }
-          ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "HlslSemanticGOOGLE",
-          "value" : 5635,
-          "parameters" : [
-            { "kind" : "LiteralString", "name" : "'Semantic'" }
-          ],
-          "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "UserTypeGOOGLE",
-          "value" : 5636,
-          "parameters" : [
-            { "kind" : "LiteralString", "name" : "'User Type'" }
-          ],
-          "extensions" : [ "SPV_GOOGLE_user_type" ],
-          "version" : "None"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "BuiltIn",
-      "enumerants" : [
-        {
-          "enumerant" : "Position",
-          "value" : 0,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "PointSize",
-          "value" : 1,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "ClipDistance",
-          "value" : 3,
-          "capabilities" : [ "ClipDistance" ]
-        },
-        {
-          "enumerant" : "CullDistance",
-          "value" : 4,
-          "capabilities" : [ "CullDistance" ]
-        },
-        {
-          "enumerant" : "VertexId",
-          "value" : 5,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "InstanceId",
-          "value" : 6,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "PrimitiveId",
-          "value" : 7,
-          "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingProvisionalKHR" ]
-        },
-        {
-          "enumerant" : "InvocationId",
-          "value" : 8,
-          "capabilities" : [ "Geometry", "Tessellation" ]
-        },
-        {
-          "enumerant" : "Layer",
-          "value" : 9,
-          "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT" ]
-        },
-        {
-          "enumerant" : "ViewportIndex",
-          "value" : 10,
-          "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT" ]
-        },
-        {
-          "enumerant" : "TessLevelOuter",
-          "value" : 11,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "TessLevelInner",
-          "value" : 12,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "TessCoord",
-          "value" : 13,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "PatchVertices",
-          "value" : 14,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "FragCoord",
-          "value" : 15,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "PointCoord",
-          "value" : 16,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "FrontFacing",
-          "value" : 17,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "SampleId",
-          "value" : 18,
-          "capabilities" : [ "SampleRateShading" ]
-        },
-        {
-          "enumerant" : "SamplePosition",
-          "value" : 19,
-          "capabilities" : [ "SampleRateShading" ]
-        },
-        {
-          "enumerant" : "SampleMask",
-          "value" : 20,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "FragDepth",
-          "value" : 22,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "HelperInvocation",
-          "value" : 23,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "NumWorkgroups",
-          "value" : 24
-        },
-        {
-          "enumerant" : "WorkgroupSize",
-          "value" : 25
-        },
-        {
-          "enumerant" : "WorkgroupId",
-          "value" : 26
-        },
-        {
-          "enumerant" : "LocalInvocationId",
-          "value" : 27
-        },
-        {
-          "enumerant" : "GlobalInvocationId",
-          "value" : 28
-        },
-        {
-          "enumerant" : "LocalInvocationIndex",
-          "value" : 29
-        },
-        {
-          "enumerant" : "WorkDim",
-          "value" : 30,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "GlobalSize",
-          "value" : 31,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "EnqueuedWorkgroupSize",
-          "value" : 32,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "GlobalOffset",
-          "value" : 33,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "GlobalLinearId",
-          "value" : 34,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "SubgroupSize",
-          "value" : 36,
-          "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
-        },
-        {
-          "enumerant" : "SubgroupMaxSize",
-          "value" : 37,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "NumSubgroups",
-          "value" : 38,
-          "capabilities" : [ "Kernel", "GroupNonUniform" ]
-        },
-        {
-          "enumerant" : "NumEnqueuedSubgroups",
-          "value" : 39,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "SubgroupId",
-          "value" : 40,
-          "capabilities" : [ "Kernel", "GroupNonUniform" ]
-        },
-        {
-          "enumerant" : "SubgroupLocalInvocationId",
-          "value" : 41,
-          "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
-        },
-        {
-          "enumerant" : "VertexIndex",
-          "value" : 42,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "InstanceIndex",
-          "value" : 43,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "SubgroupEqMask",
-          "value" : 4416,
-          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "SubgroupGeMask",
-          "value" : 4417,
-          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "SubgroupGtMask",
-          "value" : 4418,
-          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "SubgroupLeMask",
-          "value" : 4419,
-          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "SubgroupLtMask",
-          "value" : 4420,
-          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "SubgroupEqMaskKHR",
-          "value" : 4416,
-          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "extensions" : [ "SPV_KHR_shader_ballot" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "SubgroupGeMaskKHR",
-          "value" : 4417,
-          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "extensions" : [ "SPV_KHR_shader_ballot" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "SubgroupGtMaskKHR",
-          "value" : 4418,
-          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "extensions" : [ "SPV_KHR_shader_ballot" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "SubgroupLeMaskKHR",
-          "value" : 4419,
-          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "extensions" : [ "SPV_KHR_shader_ballot" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "SubgroupLtMaskKHR",
-          "value" : 4420,
-          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "extensions" : [ "SPV_KHR_shader_ballot" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "BaseVertex",
-          "value" : 4424,
-          "capabilities" : [ "DrawParameters" ],
-          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "BaseInstance",
-          "value" : 4425,
-          "capabilities" : [ "DrawParameters" ],
-          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "DrawIndex",
-          "value" : 4426,
-          "capabilities" : [ "DrawParameters", "MeshShadingNV" ],
-          "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "DeviceIndex",
-          "value" : 4438,
-          "capabilities" : [ "DeviceGroup" ],
-          "extensions" : [ "SPV_KHR_device_group" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "ViewIndex",
-          "value" : 4440,
-          "capabilities" : [ "MultiView" ],
-          "extensions" : [ "SPV_KHR_multiview" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "BaryCoordNoPerspAMD",
-          "value" : 4992,
-          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "BaryCoordNoPerspCentroidAMD",
-          "value" : 4993,
-          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "BaryCoordNoPerspSampleAMD",
-          "value" : 4994,
-          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "BaryCoordSmoothAMD",
-          "value" : 4995,
-          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "BaryCoordSmoothCentroidAMD",
-          "value" : 4996,
-          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "BaryCoordSmoothSampleAMD",
-          "value" : 4997,
-          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "BaryCoordPullModelAMD",
-          "value" : 4998,
-          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FragStencilRefEXT",
-          "value" : 5014,
-          "capabilities" : [ "StencilExportEXT" ],
-          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ViewportMaskNV",
-          "value" : 5253,
-          "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SecondaryPositionNV",
-          "value" : 5257,
-          "capabilities" : [ "ShaderStereoViewNV" ],
-          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SecondaryViewportMaskNV",
-          "value" : 5258,
-          "capabilities" : [ "ShaderStereoViewNV" ],
-          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PositionPerViewNV",
-          "value" : 5261,
-          "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
-          "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ViewportMaskPerViewNV",
-          "value" : 5262,
-          "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
-          "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FullyCoveredEXT",
-          "value" : 5264,
-          "capabilities" : [ "FragmentFullyCoveredEXT" ],
-          "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "TaskCountNV",
-          "value" : 5274,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PrimitiveCountNV",
-          "value" : 5275,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PrimitiveIndicesNV",
-          "value" : 5276,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ClipDistancePerViewNV",
-          "value" : 5277,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "CullDistancePerViewNV",
-          "value" : 5278,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "LayerPerViewNV",
-          "value" : 5279,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "MeshViewCountNV",
-          "value" : 5280,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "MeshViewIndicesNV",
-          "value" : 5281,
-          "capabilities" : [ "MeshShadingNV" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "BaryCoordNV",
-          "value" : 5286,
-          "capabilities" : [ "FragmentBarycentricNV" ],
-          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "BaryCoordNoPerspNV",
-          "value" : 5287,
-          "capabilities" : [ "FragmentBarycentricNV" ],
-          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FragSizeEXT",
-          "value" : 5292 ,
-          "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
-          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FragmentSizeNV",
-          "value" : 5292 ,
-          "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
-          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FragInvocationCountEXT",
-          "value" : 5293,
-          "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
-          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "InvocationsPerPixelNV",
-          "value" : 5293,
-          "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
-          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "LaunchIdNV",
-          "value" : 5319,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "LaunchIdKHR",
-          "value" : 5319,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "LaunchSizeNV",
-          "value" : 5320,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "LaunchSizeKHR",
-          "value" : 5320,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "WorldRayOriginNV",
-          "value" : 5321,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "WorldRayOriginKHR",
-          "value" : 5321,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "WorldRayDirectionNV",
-          "value" : 5322,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "WorldRayDirectionKHR",
-          "value" : 5322,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ObjectRayOriginNV",
-          "value" : 5323,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ObjectRayOriginKHR",
-          "value" : 5323,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ObjectRayDirectionNV",
-          "value" : 5324,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ObjectRayDirectionKHR",
-          "value" : 5324,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayTminNV",
-          "value" : 5325,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayTminKHR",
-          "value" : 5325,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayTmaxNV",
-          "value" : 5326,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayTmaxKHR",
-          "value" : 5326,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "InstanceCustomIndexNV",
-          "value" : 5327,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "InstanceCustomIndexKHR",
-          "value" : 5327,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ObjectToWorldNV",
-          "value" : 5330,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ObjectToWorldKHR",
-          "value" : 5330,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "WorldToObjectNV",
-          "value" : 5331,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "WorldToObjectKHR",
-          "value" : 5331,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "HitTNV",
-          "value" : 5332,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "HitTKHR",
-          "value" : 5332,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "HitKindNV",
-          "value" : 5333,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "HitKindKHR",
-          "value" : 5333,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "IncomingRayFlagsNV",
-          "value" : 5351,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "IncomingRayFlagsKHR",
-          "value" : 5351,
-          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayGeometryIndexKHR",
-          "value" : 5352,
-          "capabilities" : [ "RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "WarpsPerSMNV",
-          "value" : 5374,
-          "capabilities" : [ "ShaderSMBuiltinsNV" ],
-          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SMCountNV",
-          "value" : 5375,
-          "capabilities" : [ "ShaderSMBuiltinsNV" ],
-          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "WarpIDNV",
-          "value" : 5376,
-          "capabilities" : [ "ShaderSMBuiltinsNV" ],
-          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SMIDNV",
-          "value" : 5377,
-          "capabilities" : [ "ShaderSMBuiltinsNV" ],
-          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
-          "version" : "None"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "Scope",
-      "enumerants" : [
-        {
-          "enumerant" : "CrossDevice",
-          "value" : 0
-        },
-        {
-          "enumerant" : "Device",
-          "value" : 1
-        },
-        {
-          "enumerant" : "Workgroup",
-          "value" : 2
-        },
-        {
-          "enumerant" : "Subgroup",
-          "value" : 3
-        },
-        {
-          "enumerant" : "Invocation",
-          "value" : 4
-        },
-        {
-          "enumerant" : "QueueFamily",
-          "value" : 5,
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "QueueFamilyKHR",
-          "value" : 5,
-          "capabilities" : [ "VulkanMemoryModel" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "ShaderCallKHR",
-          "value" : 6,
-          "capabilities" : [ "RayTracingProvisionalKHR" ],
-          "version" : "None"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "GroupOperation",
-      "enumerants" : [
-        {
-          "enumerant" : "Reduce",
-          "value" : 0,
-          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
-        },
-        {
-          "enumerant" : "InclusiveScan",
-          "value" : 1,
-          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
-        },
-        {
-          "enumerant" : "ExclusiveScan",
-          "value" : 2,
-          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
-        },
-        {
-          "enumerant" : "ClusteredReduce",
-          "value" : 3,
-          "capabilities" : [ "GroupNonUniformClustered" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "PartitionedReduceNV",
-          "value" : 6,
-          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
-          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PartitionedInclusiveScanNV",
-          "value" : 7,
-          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
-          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PartitionedExclusiveScanNV",
-          "value" : 8,
-          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
-          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
-          "version" : "None"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "KernelEnqueueFlags",
-      "enumerants" : [
-        {
-          "enumerant" : "NoWait",
-          "value" : 0,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "WaitKernel",
-          "value" : 1,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "WaitWorkGroup",
-          "value" : 2,
-          "capabilities" : [ "Kernel" ]
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "Capability",
-      "enumerants" : [
-        {
-          "enumerant" : "Matrix",
-          "value" : 0
-        },
-        {
-          "enumerant" : "Shader",
-          "value" : 1,
-          "capabilities" : [ "Matrix" ]
-        },
-        {
-          "enumerant" : "Geometry",
-          "value" : 2,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Tessellation",
-          "value" : 3,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Addresses",
-          "value" : 4
-        },
-        {
-          "enumerant" : "Linkage",
-          "value" : 5
-        },
-        {
-          "enumerant" : "Kernel",
-          "value" : 6
-        },
-        {
-          "enumerant" : "Vector16",
-          "value" : 7,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Float16Buffer",
-          "value" : 8,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Float16",
-          "value" : 9
-        },
-        {
-          "enumerant" : "Float64",
-          "value" : 10
-        },
-        {
-          "enumerant" : "Int64",
-          "value" : 11
-        },
-        {
-          "enumerant" : "Int64Atomics",
-          "value" : 12,
-          "capabilities" : [ "Int64" ]
-        },
-        {
-          "enumerant" : "ImageBasic",
-          "value" : 13,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "ImageReadWrite",
-          "value" : 14,
-          "capabilities" : [ "ImageBasic" ]
-        },
-        {
-          "enumerant" : "ImageMipmap",
-          "value" : 15,
-          "capabilities" : [ "ImageBasic" ]
-        },
-        {
-          "enumerant" : "Pipes",
-          "value" : 17,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "Groups",
-          "value" : 18,
-          "extensions" : [ "SPV_AMD_shader_ballot" ]
-        },
-        {
-          "enumerant" : "DeviceEnqueue",
-          "value" : 19,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "LiteralSampler",
-          "value" : 20,
-          "capabilities" : [ "Kernel" ]
-        },
-        {
-          "enumerant" : "AtomicStorage",
-          "value" : 21,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Int16",
-          "value" : 22
-        },
-        {
-          "enumerant" : "TessellationPointSize",
-          "value" : 23,
-          "capabilities" : [ "Tessellation" ]
-        },
-        {
-          "enumerant" : "GeometryPointSize",
-          "value" : 24,
-          "capabilities" : [ "Geometry" ]
-        },
-        {
-          "enumerant" : "ImageGatherExtended",
-          "value" : 25,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "StorageImageMultisample",
-          "value" : 27,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "UniformBufferArrayDynamicIndexing",
-          "value" : 28,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "SampledImageArrayDynamicIndexing",
-          "value" : 29,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "StorageBufferArrayDynamicIndexing",
-          "value" : 30,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "StorageImageArrayDynamicIndexing",
-          "value" : 31,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "ClipDistance",
-          "value" : 32,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "CullDistance",
-          "value" : 33,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "ImageCubeArray",
-          "value" : 34,
-          "capabilities" : [ "SampledCubeArray" ]
-        },
-        {
-          "enumerant" : "SampleRateShading",
-          "value" : 35,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "ImageRect",
-          "value" : 36,
-          "capabilities" : [ "SampledRect" ]
-        },
-        {
-          "enumerant" : "SampledRect",
-          "value" : 37,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "GenericPointer",
-          "value" : 38,
-          "capabilities" : [ "Addresses" ]
-        },
-        {
-          "enumerant" : "Int8",
-          "value" : 39
-        },
-        {
-          "enumerant" : "InputAttachment",
-          "value" : 40,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "SparseResidency",
-          "value" : 41,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "MinLod",
-          "value" : 42,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "Sampled1D",
-          "value" : 43
-        },
-        {
-          "enumerant" : "Image1D",
-          "value" : 44,
-          "capabilities" : [ "Sampled1D" ]
-        },
-        {
-          "enumerant" : "SampledCubeArray",
-          "value" : 45,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "SampledBuffer",
-          "value" : 46
-        },
-        {
-          "enumerant" : "ImageBuffer",
-          "value" : 47,
-          "capabilities" : [ "SampledBuffer" ]
-        },
-        {
-          "enumerant" : "ImageMSArray",
-          "value" : 48,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "StorageImageExtendedFormats",
-          "value" : 49,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "ImageQuery",
-          "value" : 50,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "DerivativeControl",
-          "value" : 51,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "InterpolationFunction",
-          "value" : 52,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "TransformFeedback",
-          "value" : 53,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "GeometryStreams",
-          "value" : 54,
-          "capabilities" : [ "Geometry" ]
-        },
-        {
-          "enumerant" : "StorageImageReadWithoutFormat",
-          "value" : 55,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "StorageImageWriteWithoutFormat",
-          "value" : 56,
-          "capabilities" : [ "Shader" ]
-        },
-        {
-          "enumerant" : "MultiViewport",
-          "value" : 57,
-          "capabilities" : [ "Geometry" ]
-        },
-        {
-          "enumerant" : "SubgroupDispatch",
-          "value" : 58,
-          "capabilities" : [ "DeviceEnqueue" ],
-          "version" : "1.1"
-        },
-        {
-          "enumerant" : "NamedBarrier",
-          "value" : 59,
-          "capabilities" : [ "Kernel" ],
-          "version" : "1.1"
-        },
-        {
-          "enumerant" : "PipeStorage",
-          "value" : 60,
-          "capabilities" : [ "Pipes" ],
-          "version" : "1.1"
-        },
-        {
-          "enumerant" : "GroupNonUniform",
-          "value" : 61,
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "GroupNonUniformVote",
-          "value" : 62,
-          "capabilities" : [ "GroupNonUniform" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "GroupNonUniformArithmetic",
-          "value" : 63,
-          "capabilities" : [ "GroupNonUniform" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "GroupNonUniformBallot",
-          "value" : 64,
-          "capabilities" : [ "GroupNonUniform" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "GroupNonUniformShuffle",
-          "value" : 65,
-          "capabilities" : [ "GroupNonUniform" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "GroupNonUniformShuffleRelative",
-          "value" : 66,
-          "capabilities" : [ "GroupNonUniform" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "GroupNonUniformClustered",
-          "value" : 67,
-          "capabilities" : [ "GroupNonUniform" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "GroupNonUniformQuad",
-          "value" : 68,
-          "capabilities" : [ "GroupNonUniform" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "ShaderLayer",
-          "value" : 69,
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "ShaderViewportIndex",
-          "value" : 70,
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "SubgroupBallotKHR",
-          "value" : 4423,
-          "extensions" : [ "SPV_KHR_shader_ballot" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "DrawParameters",
-          "value" : 4427,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "SubgroupVoteKHR",
-          "value" : 4431,
-          "extensions" : [ "SPV_KHR_subgroup_vote" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "StorageBuffer16BitAccess",
-          "value" : 4433,
-          "extensions" : [ "SPV_KHR_16bit_storage" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "StorageUniformBufferBlock16",
-          "value" : 4433,
-          "extensions" : [ "SPV_KHR_16bit_storage" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "UniformAndStorageBuffer16BitAccess",
-          "value" : 4434,
-          "capabilities" : [
-            "StorageBuffer16BitAccess",
-            "StorageUniformBufferBlock16"
-          ],
-          "extensions" : [ "SPV_KHR_16bit_storage" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "StorageUniform16",
-          "value" : 4434,
-          "capabilities" : [
-            "StorageBuffer16BitAccess",
-            "StorageUniformBufferBlock16"
-          ],
-          "extensions" : [ "SPV_KHR_16bit_storage" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "StoragePushConstant16",
-          "value" : 4435,
-          "extensions" : [ "SPV_KHR_16bit_storage" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "StorageInputOutput16",
-          "value" : 4436,
-          "extensions" : [ "SPV_KHR_16bit_storage" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "DeviceGroup",
-          "value" : 4437,
-          "extensions" : [ "SPV_KHR_device_group" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "MultiView",
-          "value" : 4439,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_KHR_multiview" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "VariablePointersStorageBuffer",
-          "value" : 4441,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_KHR_variable_pointers" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "VariablePointers",
-          "value" : 4442,
-          "capabilities" : [ "VariablePointersStorageBuffer" ],
-          "extensions" : [ "SPV_KHR_variable_pointers" ],
-          "version" : "1.3"
-        },
-        {
-          "enumerant" : "AtomicStorageOps",
-          "value" : 4445,
-          "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SampleMaskPostDepthCoverage",
-          "value" : 4447,
-          "extensions" : [ "SPV_KHR_post_depth_coverage" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "StorageBuffer8BitAccess",
-          "value" : 4448,
-          "extensions" : [ "SPV_KHR_8bit_storage" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "UniformAndStorageBuffer8BitAccess",
-          "value" : 4449,
-          "capabilities" : [ "StorageBuffer8BitAccess" ],
-          "extensions" : [ "SPV_KHR_8bit_storage" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "StoragePushConstant8",
-          "value" : 4450,
-          "extensions" : [ "SPV_KHR_8bit_storage" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "DenormPreserve",
-          "value" : 4464,
-          "extensions" : [ "SPV_KHR_float_controls" ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "DenormFlushToZero",
-          "value" : 4465,
-          "extensions" : [ "SPV_KHR_float_controls" ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "SignedZeroInfNanPreserve",
-          "value" : 4466,
-          "extensions" : [ "SPV_KHR_float_controls" ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "RoundingModeRTE",
-          "value" : 4467,
-          "extensions" : [ "SPV_KHR_float_controls" ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "RoundingModeRTZ",
-          "value" : 4468,
-          "extensions" : [ "SPV_KHR_float_controls" ],
-          "version" : "1.4"
-        },
-        {
-          "enumerant" : "RayQueryProvisionalKHR",
-          "value" : 4471,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_KHR_ray_query" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayTraversalPrimitiveCullingProvisionalKHR",
-          "value" : 4478,
-          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
-          "extensions" : [ "SPV_KHR_ray_query","SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "Float16ImageAMD",
-          "value" : 5008,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ImageGatherBiasLodAMD",
-          "value" : 5009,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FragmentMaskAMD",
-          "value" : 5010,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "StencilExportEXT",
-          "value" : 5013,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ImageReadWriteLodAMD",
-          "value" : 5015,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShaderClockKHR",
-          "value" : 5055,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_KHR_shader_clock" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SampleMaskOverrideCoverageNV",
-          "value" : 5249,
-          "capabilities" : [ "SampleRateShading" ],
-          "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "GeometryShaderPassthroughNV",
-          "value" : 5251,
-          "capabilities" : [ "Geometry" ],
-          "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShaderViewportIndexLayerEXT",
-          "value" : 5254,
-          "capabilities" : [ "MultiViewport" ],
-          "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShaderViewportIndexLayerNV",
-          "value" : 5254,
-          "capabilities" : [ "MultiViewport" ],
-          "extensions" : [ "SPV_NV_viewport_array2" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShaderViewportMaskNV",
-          "value" : 5255,
-          "capabilities" : [ "ShaderViewportIndexLayerNV" ],
-          "extensions" : [ "SPV_NV_viewport_array2" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShaderStereoViewNV",
-          "value" : 5259,
-          "capabilities" : [ "ShaderViewportMaskNV" ],
-          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "PerViewAttributesNV",
-          "value" : 5260,
-          "capabilities" : [ "MultiView" ],
-          "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FragmentFullyCoveredEXT",
-          "value" : 5265,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "MeshShadingNV",
-          "value" : 5266,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_NV_mesh_shader" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ImageFootprintNV",
-          "value" : 5282,
-          "extensions" : [ "SPV_NV_shader_image_footprint" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FragmentBarycentricNV",
-          "value" : 5284,
-          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ComputeDerivativeGroupQuadsNV",
-          "value" : 5288,
-          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FragmentDensityEXT",
-          "value" : 5291,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShadingRateNV",
-          "value" : 5291,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "GroupNonUniformPartitionedNV",
-          "value" : 5297,
-          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShaderNonUniform",
-          "value" : 5301,
-          "capabilities" : [ "Shader" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "ShaderNonUniformEXT",
-          "value" : 5301,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "RuntimeDescriptorArray",
-          "value" : 5302,
-          "capabilities" : [ "Shader" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "RuntimeDescriptorArrayEXT",
-          "value" : 5302,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "InputAttachmentArrayDynamicIndexing",
-          "value" : 5303,
-          "capabilities" : [ "InputAttachment" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
-          "value" : 5303,
-          "capabilities" : [ "InputAttachment" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "UniformTexelBufferArrayDynamicIndexing",
-          "value" : 5304,
-          "capabilities" : [ "SampledBuffer" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
-          "value" : 5304,
-          "capabilities" : [ "SampledBuffer" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "StorageTexelBufferArrayDynamicIndexing",
-          "value" : 5305,
-          "capabilities" : [ "ImageBuffer" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
-          "value" : 5305,
-          "capabilities" : [ "ImageBuffer" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "UniformBufferArrayNonUniformIndexing",
-          "value" : 5306,
-          "capabilities" : [ "ShaderNonUniform" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
-          "value" : 5306,
-          "capabilities" : [ "ShaderNonUniform" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "SampledImageArrayNonUniformIndexing",
-          "value" : 5307,
-          "capabilities" : [ "ShaderNonUniform" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "SampledImageArrayNonUniformIndexingEXT",
-          "value" : 5307,
-          "capabilities" : [ "ShaderNonUniform" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "StorageBufferArrayNonUniformIndexing",
-          "value" : 5308,
-          "capabilities" : [ "ShaderNonUniform" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
-          "value" : 5308,
-          "capabilities" : [ "ShaderNonUniform" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "StorageImageArrayNonUniformIndexing",
-          "value" : 5309,
-          "capabilities" : [ "ShaderNonUniform" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "StorageImageArrayNonUniformIndexingEXT",
-          "value" : 5309,
-          "capabilities" : [ "ShaderNonUniform" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "InputAttachmentArrayNonUniformIndexing",
-          "value" : 5310,
-          "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
-          "value" : 5310,
-          "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "UniformTexelBufferArrayNonUniformIndexing",
-          "value" : 5311,
-          "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
-          "value" : 5311,
-          "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "StorageTexelBufferArrayNonUniformIndexing",
-          "value" : 5312,
-          "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
-          "value" : 5312,
-          "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
-          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "RayTracingNV",
-          "value" : 5340,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_NV_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "VulkanMemoryModel",
-          "value" : 5345,
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "VulkanMemoryModelKHR",
-          "value" : 5345,
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "VulkanMemoryModelDeviceScope",
-          "value" : 5346,
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
-          "value" : 5346,
-          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "PhysicalStorageBufferAddresses",
-          "value" : 5347,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "PhysicalStorageBufferAddressesEXT",
-          "value" : 5347,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
-          "version" : "1.5"
-        },
-        {
-          "enumerant" : "ComputeDerivativeGroupLinearNV",
-          "value" : 5350,
-          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayTracingProvisionalKHR",
-          "value" : 5353,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_KHR_ray_tracing" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "CooperativeMatrixNV",
-          "value" : 5357,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_NV_cooperative_matrix" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FragmentShaderSampleInterlockEXT",
-          "value" : 5363,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FragmentShaderShadingRateInterlockEXT",
-          "value" : 5372,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "ShaderSMBuiltinsNV",
-          "value" : 5373,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "FragmentShaderPixelInterlockEXT",
-          "value" : 5378,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "DemoteToHelperInvocationEXT",
-          "value" : 5379,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SubgroupShuffleINTEL",
-          "value" : 5568,
-          "extensions" : [ "SPV_INTEL_subgroups" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SubgroupBufferBlockIOINTEL",
-          "value" : 5569,
-          "extensions" : [ "SPV_INTEL_subgroups" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SubgroupImageBlockIOINTEL",
-          "value" : 5570,
-          "extensions" : [ "SPV_INTEL_subgroups" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SubgroupImageMediaBlockIOINTEL",
-          "value" : 5579,
-          "extensions" : [ "SPV_INTEL_media_block_io" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "IntegerFunctions2INTEL",
-          "value" : 5584,
-          "capabilities" : [ "Shader" ],
-          "extensions" : [ "SPV_INTEL_shader_integer_functions2" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SubgroupAvcMotionEstimationINTEL",
-          "value" : 5696,
-          "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SubgroupAvcMotionEstimationIntraINTEL",
-          "value" : 5697,
-          "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "SubgroupAvcMotionEstimationChromaINTEL",
-          "value" : 5698,
-          "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
-          "version" : "None"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "RayQueryIntersection",
-      "enumerants" : [
-        {
-          "enumerant" : "RayQueryCandidateIntersectionKHR",
-          "value" : 0,
-          "capabilities" : [ "RayQueryProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayQueryCommittedIntersectionKHR",
-          "value" : 1,
-          "capabilities" : [ "RayQueryProvisionalKHR" ],
-          "version" : "None"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "RayQueryCommittedIntersectionType",
-      "enumerants" : [
-        {
-          "enumerant" : "RayQueryCommittedIntersectionNoneKHR",
-          "value" : 0,
-          "capabilities" : [ "RayQueryProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayQueryCommittedIntersectionTriangleKHR",
-          "value" : 1,
-          "capabilities" : [ "RayQueryProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayQueryCommittedIntersectionGeneratedKHR",
-          "value" : 2,
-          "capabilities" : [ "RayQueryProvisionalKHR" ],
-          "version" : "None"
-        }
-      ]
-    },
-    {
-      "category" : "ValueEnum",
-      "kind" : "RayQueryCandidateIntersectionType",
-      "enumerants" : [
-        {
-          "enumerant" : "RayQueryCandidateIntersectionTriangleKHR",
-          "value" : 0,
-          "capabilities" : [ "RayQueryProvisionalKHR" ],
-          "version" : "None"
-        },
-        {
-          "enumerant" : "RayQueryCandidateIntersectionAABBKHR",
-          "value" : 1,
-          "capabilities" : [ "RayQueryProvisionalKHR" ],
-          "version" : "None"
-        }
-      ]
-    },
-    {
-      "category" : "Id",
-      "kind" : "IdResultType",
-      "doc" : "Reference to an <id> representing the result's type of the enclosing instruction"
-    },
-    {
-      "category" : "Id",
-      "kind" : "IdResult",
-      "doc" : "Definition of an <id> representing the result of the enclosing instruction"
-    },
-    {
-      "category" : "Id",
-      "kind" : "IdMemorySemantics",
-      "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind"
-    },
-    {
-      "category" : "Id",
-      "kind" : "IdScope",
-      "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind"
-    },
-    {
-      "category" : "Id",
-      "kind" : "IdRef",
-      "doc" : "Reference to an <id>"
-    },
-    {
-      "category" : "Literal",
-      "kind" : "LiteralInteger",
-      "doc" : "An integer consuming one or more words"
-    },
-    {
-      "category" : "Literal",
-      "kind" : "LiteralString",
-      "doc" : "A null-terminated stream of characters consuming an integral number of words"
-    },
-    {
-      "category" : "Literal",
-      "kind" : "LiteralContextDependentNumber",
-      "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction"
-    },
-    {
-      "category" : "Literal",
-      "kind" : "LiteralExtInstInteger",
-      "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)"
-    },
-    {
-      "category" : "Literal",
-      "kind" : "LiteralSpecConstantOpInteger",
-      "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)"
-    },
-    {
-      "category" : "Composite",
-      "kind" : "PairLiteralIntegerIdRef",
-      "bases" : [ "LiteralInteger", "IdRef" ]
-    },
-    {
-      "category" : "Composite",
-      "kind" : "PairIdRefLiteralInteger",
-      "bases" : [ "IdRef", "LiteralInteger" ]
-    },
-    {
-      "category" : "Composite",
-      "kind" : "PairIdRefIdRef",
-      "bases" : [ "IdRef", "IdRef" ]
-    }
-  ]
-}
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
deleted file mode 100644
index 82d73e3..0000000
--- a/include/spirv/unified1/spirv.cs
+++ /dev/null
@@ -1,1548 +0,0 @@
-// Copyright (c) 2014-2020 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"),
-// to deal in the Materials without restriction, including without limitation
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-// and/or sell copies of the Materials, and to permit persons to whom the
-// Materials are furnished to do so, subject to the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Materials.
-// 
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
-// 
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
-// IN THE MATERIALS.
-
-// This header is automatically generated by the same tool that creates
-// the Binary Section of the SPIR-V specification.
-
-// Enumeration tokens for SPIR-V, in various styles:
-//   C, C++, C++11, JSON, Lua, Python, C#, D
-// 
-// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-// - C# will use enum classes in the Specification class located in the "Spv" namespace,
-//     e.g.: Spv.Specification.SourceLanguage.GLSL
-// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
-// 
-// Some tokens act like mask values, which can be OR'd together,
-// while others are mutually exclusive.  The mask-like ones have
-// "Mask" in their name, and a parallel enum that has the shift
-// amount (1 << x) for each corresponding enumerant.
-
-namespace Spv
-{
-
-    public static class Specification
-    {
-        public const uint MagicNumber = 0x07230203;
-        public const uint Version = 0x00010500;
-        public const uint Revision = 3;
-        public const uint OpCodeMask = 0xffff;
-        public const uint WordCountShift = 16;
-
-        public enum SourceLanguage
-        {
-            Unknown = 0,
-            ESSL = 1,
-            GLSL = 2,
-            OpenCL_C = 3,
-            OpenCL_CPP = 4,
-            HLSL = 5,
-        }
-
-        public enum ExecutionModel
-        {
-            Vertex = 0,
-            TessellationControl = 1,
-            TessellationEvaluation = 2,
-            Geometry = 3,
-            Fragment = 4,
-            GLCompute = 5,
-            Kernel = 6,
-            TaskNV = 5267,
-            MeshNV = 5268,
-            RayGenerationKHR = 5313,
-            RayGenerationNV = 5313,
-            IntersectionKHR = 5314,
-            IntersectionNV = 5314,
-            AnyHitKHR = 5315,
-            AnyHitNV = 5315,
-            ClosestHitKHR = 5316,
-            ClosestHitNV = 5316,
-            MissKHR = 5317,
-            MissNV = 5317,
-            CallableKHR = 5318,
-            CallableNV = 5318,
-        }
-
-        public enum AddressingModel
-        {
-            Logical = 0,
-            Physical32 = 1,
-            Physical64 = 2,
-            PhysicalStorageBuffer64 = 5348,
-            PhysicalStorageBuffer64EXT = 5348,
-        }
-
-        public enum MemoryModel
-        {
-            Simple = 0,
-            GLSL450 = 1,
-            OpenCL = 2,
-            Vulkan = 3,
-            VulkanKHR = 3,
-        }
-
-        public enum ExecutionMode
-        {
-            Invocations = 0,
-            SpacingEqual = 1,
-            SpacingFractionalEven = 2,
-            SpacingFractionalOdd = 3,
-            VertexOrderCw = 4,
-            VertexOrderCcw = 5,
-            PixelCenterInteger = 6,
-            OriginUpperLeft = 7,
-            OriginLowerLeft = 8,
-            EarlyFragmentTests = 9,
-            PointMode = 10,
-            Xfb = 11,
-            DepthReplacing = 12,
-            DepthGreater = 14,
-            DepthLess = 15,
-            DepthUnchanged = 16,
-            LocalSize = 17,
-            LocalSizeHint = 18,
-            InputPoints = 19,
-            InputLines = 20,
-            InputLinesAdjacency = 21,
-            Triangles = 22,
-            InputTrianglesAdjacency = 23,
-            Quads = 24,
-            Isolines = 25,
-            OutputVertices = 26,
-            OutputPoints = 27,
-            OutputLineStrip = 28,
-            OutputTriangleStrip = 29,
-            VecTypeHint = 30,
-            ContractionOff = 31,
-            Initializer = 33,
-            Finalizer = 34,
-            SubgroupSize = 35,
-            SubgroupsPerWorkgroup = 36,
-            SubgroupsPerWorkgroupId = 37,
-            LocalSizeId = 38,
-            LocalSizeHintId = 39,
-            PostDepthCoverage = 4446,
-            DenormPreserve = 4459,
-            DenormFlushToZero = 4460,
-            SignedZeroInfNanPreserve = 4461,
-            RoundingModeRTE = 4462,
-            RoundingModeRTZ = 4463,
-            StencilRefReplacingEXT = 5027,
-            OutputLinesNV = 5269,
-            OutputPrimitivesNV = 5270,
-            DerivativeGroupQuadsNV = 5289,
-            DerivativeGroupLinearNV = 5290,
-            OutputTrianglesNV = 5298,
-            PixelInterlockOrderedEXT = 5366,
-            PixelInterlockUnorderedEXT = 5367,
-            SampleInterlockOrderedEXT = 5368,
-            SampleInterlockUnorderedEXT = 5369,
-            ShadingRateInterlockOrderedEXT = 5370,
-            ShadingRateInterlockUnorderedEXT = 5371,
-        }
-
-        public enum StorageClass
-        {
-            UniformConstant = 0,
-            Input = 1,
-            Uniform = 2,
-            Output = 3,
-            Workgroup = 4,
-            CrossWorkgroup = 5,
-            Private = 6,
-            Function = 7,
-            Generic = 8,
-            PushConstant = 9,
-            AtomicCounter = 10,
-            Image = 11,
-            StorageBuffer = 12,
-            CallableDataKHR = 5328,
-            CallableDataNV = 5328,
-            IncomingCallableDataKHR = 5329,
-            IncomingCallableDataNV = 5329,
-            RayPayloadKHR = 5338,
-            RayPayloadNV = 5338,
-            HitAttributeKHR = 5339,
-            HitAttributeNV = 5339,
-            IncomingRayPayloadKHR = 5342,
-            IncomingRayPayloadNV = 5342,
-            ShaderRecordBufferKHR = 5343,
-            ShaderRecordBufferNV = 5343,
-            PhysicalStorageBuffer = 5349,
-            PhysicalStorageBufferEXT = 5349,
-        }
-
-        public enum Dim
-        {
-            Dim1D = 0,
-            Dim2D = 1,
-            Dim3D = 2,
-            Cube = 3,
-            Rect = 4,
-            Buffer = 5,
-            SubpassData = 6,
-        }
-
-        public enum SamplerAddressingMode
-        {
-            None = 0,
-            ClampToEdge = 1,
-            Clamp = 2,
-            Repeat = 3,
-            RepeatMirrored = 4,
-        }
-
-        public enum SamplerFilterMode
-        {
-            Nearest = 0,
-            Linear = 1,
-        }
-
-        public enum ImageFormat
-        {
-            Unknown = 0,
-            Rgba32f = 1,
-            Rgba16f = 2,
-            R32f = 3,
-            Rgba8 = 4,
-            Rgba8Snorm = 5,
-            Rg32f = 6,
-            Rg16f = 7,
-            R11fG11fB10f = 8,
-            R16f = 9,
-            Rgba16 = 10,
-            Rgb10A2 = 11,
-            Rg16 = 12,
-            Rg8 = 13,
-            R16 = 14,
-            R8 = 15,
-            Rgba16Snorm = 16,
-            Rg16Snorm = 17,
-            Rg8Snorm = 18,
-            R16Snorm = 19,
-            R8Snorm = 20,
-            Rgba32i = 21,
-            Rgba16i = 22,
-            Rgba8i = 23,
-            R32i = 24,
-            Rg32i = 25,
-            Rg16i = 26,
-            Rg8i = 27,
-            R16i = 28,
-            R8i = 29,
-            Rgba32ui = 30,
-            Rgba16ui = 31,
-            Rgba8ui = 32,
-            R32ui = 33,
-            Rgb10a2ui = 34,
-            Rg32ui = 35,
-            Rg16ui = 36,
-            Rg8ui = 37,
-            R16ui = 38,
-            R8ui = 39,
-        }
-
-        public enum ImageChannelOrder
-        {
-            R = 0,
-            A = 1,
-            RG = 2,
-            RA = 3,
-            RGB = 4,
-            RGBA = 5,
-            BGRA = 6,
-            ARGB = 7,
-            Intensity = 8,
-            Luminance = 9,
-            Rx = 10,
-            RGx = 11,
-            RGBx = 12,
-            Depth = 13,
-            DepthStencil = 14,
-            sRGB = 15,
-            sRGBx = 16,
-            sRGBA = 17,
-            sBGRA = 18,
-            ABGR = 19,
-        }
-
-        public enum ImageChannelDataType
-        {
-            SnormInt8 = 0,
-            SnormInt16 = 1,
-            UnormInt8 = 2,
-            UnormInt16 = 3,
-            UnormShort565 = 4,
-            UnormShort555 = 5,
-            UnormInt101010 = 6,
-            SignedInt8 = 7,
-            SignedInt16 = 8,
-            SignedInt32 = 9,
-            UnsignedInt8 = 10,
-            UnsignedInt16 = 11,
-            UnsignedInt32 = 12,
-            HalfFloat = 13,
-            Float = 14,
-            UnormInt24 = 15,
-            UnormInt101010_2 = 16,
-        }
-
-        public enum ImageOperandsShift
-        {
-            Bias = 0,
-            Lod = 1,
-            Grad = 2,
-            ConstOffset = 3,
-            Offset = 4,
-            ConstOffsets = 5,
-            Sample = 6,
-            MinLod = 7,
-            MakeTexelAvailable = 8,
-            MakeTexelAvailableKHR = 8,
-            MakeTexelVisible = 9,
-            MakeTexelVisibleKHR = 9,
-            NonPrivateTexel = 10,
-            NonPrivateTexelKHR = 10,
-            VolatileTexel = 11,
-            VolatileTexelKHR = 11,
-            SignExtend = 12,
-            ZeroExtend = 13,
-        }
-
-        public enum ImageOperandsMask
-        {
-            MaskNone = 0,
-            Bias = 0x00000001,
-            Lod = 0x00000002,
-            Grad = 0x00000004,
-            ConstOffset = 0x00000008,
-            Offset = 0x00000010,
-            ConstOffsets = 0x00000020,
-            Sample = 0x00000040,
-            MinLod = 0x00000080,
-            MakeTexelAvailable = 0x00000100,
-            MakeTexelAvailableKHR = 0x00000100,
-            MakeTexelVisible = 0x00000200,
-            MakeTexelVisibleKHR = 0x00000200,
-            NonPrivateTexel = 0x00000400,
-            NonPrivateTexelKHR = 0x00000400,
-            VolatileTexel = 0x00000800,
-            VolatileTexelKHR = 0x00000800,
-            SignExtend = 0x00001000,
-            ZeroExtend = 0x00002000,
-        }
-
-        public enum FPFastMathModeShift
-        {
-            NotNaN = 0,
-            NotInf = 1,
-            NSZ = 2,
-            AllowRecip = 3,
-            Fast = 4,
-        }
-
-        public enum FPFastMathModeMask
-        {
-            MaskNone = 0,
-            NotNaN = 0x00000001,
-            NotInf = 0x00000002,
-            NSZ = 0x00000004,
-            AllowRecip = 0x00000008,
-            Fast = 0x00000010,
-        }
-
-        public enum FPRoundingMode
-        {
-            RTE = 0,
-            RTZ = 1,
-            RTP = 2,
-            RTN = 3,
-        }
-
-        public enum LinkageType
-        {
-            Export = 0,
-            Import = 1,
-        }
-
-        public enum AccessQualifier
-        {
-            ReadOnly = 0,
-            WriteOnly = 1,
-            ReadWrite = 2,
-        }
-
-        public enum FunctionParameterAttribute
-        {
-            Zext = 0,
-            Sext = 1,
-            ByVal = 2,
-            Sret = 3,
-            NoAlias = 4,
-            NoCapture = 5,
-            NoWrite = 6,
-            NoReadWrite = 7,
-        }
-
-        public enum Decoration
-        {
-            RelaxedPrecision = 0,
-            SpecId = 1,
-            Block = 2,
-            BufferBlock = 3,
-            RowMajor = 4,
-            ColMajor = 5,
-            ArrayStride = 6,
-            MatrixStride = 7,
-            GLSLShared = 8,
-            GLSLPacked = 9,
-            CPacked = 10,
-            BuiltIn = 11,
-            NoPerspective = 13,
-            Flat = 14,
-            Patch = 15,
-            Centroid = 16,
-            Sample = 17,
-            Invariant = 18,
-            Restrict = 19,
-            Aliased = 20,
-            Volatile = 21,
-            Constant = 22,
-            Coherent = 23,
-            NonWritable = 24,
-            NonReadable = 25,
-            Uniform = 26,
-            UniformId = 27,
-            SaturatedConversion = 28,
-            Stream = 29,
-            Location = 30,
-            Component = 31,
-            Index = 32,
-            Binding = 33,
-            DescriptorSet = 34,
-            Offset = 35,
-            XfbBuffer = 36,
-            XfbStride = 37,
-            FuncParamAttr = 38,
-            FPRoundingMode = 39,
-            FPFastMathMode = 40,
-            LinkageAttributes = 41,
-            NoContraction = 42,
-            InputAttachmentIndex = 43,
-            Alignment = 44,
-            MaxByteOffset = 45,
-            AlignmentId = 46,
-            MaxByteOffsetId = 47,
-            NoSignedWrap = 4469,
-            NoUnsignedWrap = 4470,
-            ExplicitInterpAMD = 4999,
-            OverrideCoverageNV = 5248,
-            PassthroughNV = 5250,
-            ViewportRelativeNV = 5252,
-            SecondaryViewportRelativeNV = 5256,
-            PerPrimitiveNV = 5271,
-            PerViewNV = 5272,
-            PerTaskNV = 5273,
-            PerVertexNV = 5285,
-            NonUniform = 5300,
-            NonUniformEXT = 5300,
-            RestrictPointer = 5355,
-            RestrictPointerEXT = 5355,
-            AliasedPointer = 5356,
-            AliasedPointerEXT = 5356,
-            CounterBuffer = 5634,
-            HlslCounterBufferGOOGLE = 5634,
-            HlslSemanticGOOGLE = 5635,
-            UserSemantic = 5635,
-            UserTypeGOOGLE = 5636,
-        }
-
-        public enum BuiltIn
-        {
-            Position = 0,
-            PointSize = 1,
-            ClipDistance = 3,
-            CullDistance = 4,
-            VertexId = 5,
-            InstanceId = 6,
-            PrimitiveId = 7,
-            InvocationId = 8,
-            Layer = 9,
-            ViewportIndex = 10,
-            TessLevelOuter = 11,
-            TessLevelInner = 12,
-            TessCoord = 13,
-            PatchVertices = 14,
-            FragCoord = 15,
-            PointCoord = 16,
-            FrontFacing = 17,
-            SampleId = 18,
-            SamplePosition = 19,
-            SampleMask = 20,
-            FragDepth = 22,
-            HelperInvocation = 23,
-            NumWorkgroups = 24,
-            WorkgroupSize = 25,
-            WorkgroupId = 26,
-            LocalInvocationId = 27,
-            GlobalInvocationId = 28,
-            LocalInvocationIndex = 29,
-            WorkDim = 30,
-            GlobalSize = 31,
-            EnqueuedWorkgroupSize = 32,
-            GlobalOffset = 33,
-            GlobalLinearId = 34,
-            SubgroupSize = 36,
-            SubgroupMaxSize = 37,
-            NumSubgroups = 38,
-            NumEnqueuedSubgroups = 39,
-            SubgroupId = 40,
-            SubgroupLocalInvocationId = 41,
-            VertexIndex = 42,
-            InstanceIndex = 43,
-            SubgroupEqMask = 4416,
-            SubgroupEqMaskKHR = 4416,
-            SubgroupGeMask = 4417,
-            SubgroupGeMaskKHR = 4417,
-            SubgroupGtMask = 4418,
-            SubgroupGtMaskKHR = 4418,
-            SubgroupLeMask = 4419,
-            SubgroupLeMaskKHR = 4419,
-            SubgroupLtMask = 4420,
-            SubgroupLtMaskKHR = 4420,
-            BaseVertex = 4424,
-            BaseInstance = 4425,
-            DrawIndex = 4426,
-            DeviceIndex = 4438,
-            ViewIndex = 4440,
-            BaryCoordNoPerspAMD = 4992,
-            BaryCoordNoPerspCentroidAMD = 4993,
-            BaryCoordNoPerspSampleAMD = 4994,
-            BaryCoordSmoothAMD = 4995,
-            BaryCoordSmoothCentroidAMD = 4996,
-            BaryCoordSmoothSampleAMD = 4997,
-            BaryCoordPullModelAMD = 4998,
-            FragStencilRefEXT = 5014,
-            ViewportMaskNV = 5253,
-            SecondaryPositionNV = 5257,
-            SecondaryViewportMaskNV = 5258,
-            PositionPerViewNV = 5261,
-            ViewportMaskPerViewNV = 5262,
-            FullyCoveredEXT = 5264,
-            TaskCountNV = 5274,
-            PrimitiveCountNV = 5275,
-            PrimitiveIndicesNV = 5276,
-            ClipDistancePerViewNV = 5277,
-            CullDistancePerViewNV = 5278,
-            LayerPerViewNV = 5279,
-            MeshViewCountNV = 5280,
-            MeshViewIndicesNV = 5281,
-            BaryCoordNV = 5286,
-            BaryCoordNoPerspNV = 5287,
-            FragSizeEXT = 5292,
-            FragmentSizeNV = 5292,
-            FragInvocationCountEXT = 5293,
-            InvocationsPerPixelNV = 5293,
-            LaunchIdKHR = 5319,
-            LaunchIdNV = 5319,
-            LaunchSizeKHR = 5320,
-            LaunchSizeNV = 5320,
-            WorldRayOriginKHR = 5321,
-            WorldRayOriginNV = 5321,
-            WorldRayDirectionKHR = 5322,
-            WorldRayDirectionNV = 5322,
-            ObjectRayOriginKHR = 5323,
-            ObjectRayOriginNV = 5323,
-            ObjectRayDirectionKHR = 5324,
-            ObjectRayDirectionNV = 5324,
-            RayTminKHR = 5325,
-            RayTminNV = 5325,
-            RayTmaxKHR = 5326,
-            RayTmaxNV = 5326,
-            InstanceCustomIndexKHR = 5327,
-            InstanceCustomIndexNV = 5327,
-            ObjectToWorldKHR = 5330,
-            ObjectToWorldNV = 5330,
-            WorldToObjectKHR = 5331,
-            WorldToObjectNV = 5331,
-            HitTKHR = 5332,
-            HitTNV = 5332,
-            HitKindKHR = 5333,
-            HitKindNV = 5333,
-            IncomingRayFlagsKHR = 5351,
-            IncomingRayFlagsNV = 5351,
-            RayGeometryIndexKHR = 5352,
-            WarpsPerSMNV = 5374,
-            SMCountNV = 5375,
-            WarpIDNV = 5376,
-            SMIDNV = 5377,
-        }
-
-        public enum SelectionControlShift
-        {
-            Flatten = 0,
-            DontFlatten = 1,
-        }
-
-        public enum SelectionControlMask
-        {
-            MaskNone = 0,
-            Flatten = 0x00000001,
-            DontFlatten = 0x00000002,
-        }
-
-        public enum LoopControlShift
-        {
-            Unroll = 0,
-            DontUnroll = 1,
-            DependencyInfinite = 2,
-            DependencyLength = 3,
-            MinIterations = 4,
-            MaxIterations = 5,
-            IterationMultiple = 6,
-            PeelCount = 7,
-            PartialCount = 8,
-        }
-
-        public enum LoopControlMask
-        {
-            MaskNone = 0,
-            Unroll = 0x00000001,
-            DontUnroll = 0x00000002,
-            DependencyInfinite = 0x00000004,
-            DependencyLength = 0x00000008,
-            MinIterations = 0x00000010,
-            MaxIterations = 0x00000020,
-            IterationMultiple = 0x00000040,
-            PeelCount = 0x00000080,
-            PartialCount = 0x00000100,
-        }
-
-        public enum FunctionControlShift
-        {
-            Inline = 0,
-            DontInline = 1,
-            Pure = 2,
-            Const = 3,
-        }
-
-        public enum FunctionControlMask
-        {
-            MaskNone = 0,
-            Inline = 0x00000001,
-            DontInline = 0x00000002,
-            Pure = 0x00000004,
-            Const = 0x00000008,
-        }
-
-        public enum MemorySemanticsShift
-        {
-            Acquire = 1,
-            Release = 2,
-            AcquireRelease = 3,
-            SequentiallyConsistent = 4,
-            UniformMemory = 6,
-            SubgroupMemory = 7,
-            WorkgroupMemory = 8,
-            CrossWorkgroupMemory = 9,
-            AtomicCounterMemory = 10,
-            ImageMemory = 11,
-            OutputMemory = 12,
-            OutputMemoryKHR = 12,
-            MakeAvailable = 13,
-            MakeAvailableKHR = 13,
-            MakeVisible = 14,
-            MakeVisibleKHR = 14,
-            Volatile = 15,
-        }
-
-        public enum MemorySemanticsMask
-        {
-            MaskNone = 0,
-            Acquire = 0x00000002,
-            Release = 0x00000004,
-            AcquireRelease = 0x00000008,
-            SequentiallyConsistent = 0x00000010,
-            UniformMemory = 0x00000040,
-            SubgroupMemory = 0x00000080,
-            WorkgroupMemory = 0x00000100,
-            CrossWorkgroupMemory = 0x00000200,
-            AtomicCounterMemory = 0x00000400,
-            ImageMemory = 0x00000800,
-            OutputMemory = 0x00001000,
-            OutputMemoryKHR = 0x00001000,
-            MakeAvailable = 0x00002000,
-            MakeAvailableKHR = 0x00002000,
-            MakeVisible = 0x00004000,
-            MakeVisibleKHR = 0x00004000,
-            Volatile = 0x00008000,
-        }
-
-        public enum MemoryAccessShift
-        {
-            Volatile = 0,
-            Aligned = 1,
-            Nontemporal = 2,
-            MakePointerAvailable = 3,
-            MakePointerAvailableKHR = 3,
-            MakePointerVisible = 4,
-            MakePointerVisibleKHR = 4,
-            NonPrivatePointer = 5,
-            NonPrivatePointerKHR = 5,
-        }
-
-        public enum MemoryAccessMask
-        {
-            MaskNone = 0,
-            Volatile = 0x00000001,
-            Aligned = 0x00000002,
-            Nontemporal = 0x00000004,
-            MakePointerAvailable = 0x00000008,
-            MakePointerAvailableKHR = 0x00000008,
-            MakePointerVisible = 0x00000010,
-            MakePointerVisibleKHR = 0x00000010,
-            NonPrivatePointer = 0x00000020,
-            NonPrivatePointerKHR = 0x00000020,
-        }
-
-        public enum Scope
-        {
-            CrossDevice = 0,
-            Device = 1,
-            Workgroup = 2,
-            Subgroup = 3,
-            Invocation = 4,
-            QueueFamily = 5,
-            QueueFamilyKHR = 5,
-            ShaderCallKHR = 6,
-        }
-
-        public enum GroupOperation
-        {
-            Reduce = 0,
-            InclusiveScan = 1,
-            ExclusiveScan = 2,
-            ClusteredReduce = 3,
-            PartitionedReduceNV = 6,
-            PartitionedInclusiveScanNV = 7,
-            PartitionedExclusiveScanNV = 8,
-        }
-
-        public enum KernelEnqueueFlags
-        {
-            NoWait = 0,
-            WaitKernel = 1,
-            WaitWorkGroup = 2,
-        }
-
-        public enum KernelProfilingInfoShift
-        {
-            CmdExecTime = 0,
-        }
-
-        public enum KernelProfilingInfoMask
-        {
-            MaskNone = 0,
-            CmdExecTime = 0x00000001,
-        }
-
-        public enum Capability
-        {
-            Matrix = 0,
-            Shader = 1,
-            Geometry = 2,
-            Tessellation = 3,
-            Addresses = 4,
-            Linkage = 5,
-            Kernel = 6,
-            Vector16 = 7,
-            Float16Buffer = 8,
-            Float16 = 9,
-            Float64 = 10,
-            Int64 = 11,
-            Int64Atomics = 12,
-            ImageBasic = 13,
-            ImageReadWrite = 14,
-            ImageMipmap = 15,
-            Pipes = 17,
-            Groups = 18,
-            DeviceEnqueue = 19,
-            LiteralSampler = 20,
-            AtomicStorage = 21,
-            Int16 = 22,
-            TessellationPointSize = 23,
-            GeometryPointSize = 24,
-            ImageGatherExtended = 25,
-            StorageImageMultisample = 27,
-            UniformBufferArrayDynamicIndexing = 28,
-            SampledImageArrayDynamicIndexing = 29,
-            StorageBufferArrayDynamicIndexing = 30,
-            StorageImageArrayDynamicIndexing = 31,
-            ClipDistance = 32,
-            CullDistance = 33,
-            ImageCubeArray = 34,
-            SampleRateShading = 35,
-            ImageRect = 36,
-            SampledRect = 37,
-            GenericPointer = 38,
-            Int8 = 39,
-            InputAttachment = 40,
-            SparseResidency = 41,
-            MinLod = 42,
-            Sampled1D = 43,
-            Image1D = 44,
-            SampledCubeArray = 45,
-            SampledBuffer = 46,
-            ImageBuffer = 47,
-            ImageMSArray = 48,
-            StorageImageExtendedFormats = 49,
-            ImageQuery = 50,
-            DerivativeControl = 51,
-            InterpolationFunction = 52,
-            TransformFeedback = 53,
-            GeometryStreams = 54,
-            StorageImageReadWithoutFormat = 55,
-            StorageImageWriteWithoutFormat = 56,
-            MultiViewport = 57,
-            SubgroupDispatch = 58,
-            NamedBarrier = 59,
-            PipeStorage = 60,
-            GroupNonUniform = 61,
-            GroupNonUniformVote = 62,
-            GroupNonUniformArithmetic = 63,
-            GroupNonUniformBallot = 64,
-            GroupNonUniformShuffle = 65,
-            GroupNonUniformShuffleRelative = 66,
-            GroupNonUniformClustered = 67,
-            GroupNonUniformQuad = 68,
-            ShaderLayer = 69,
-            ShaderViewportIndex = 70,
-            SubgroupBallotKHR = 4423,
-            DrawParameters = 4427,
-            SubgroupVoteKHR = 4431,
-            StorageBuffer16BitAccess = 4433,
-            StorageUniformBufferBlock16 = 4433,
-            StorageUniform16 = 4434,
-            UniformAndStorageBuffer16BitAccess = 4434,
-            StoragePushConstant16 = 4435,
-            StorageInputOutput16 = 4436,
-            DeviceGroup = 4437,
-            MultiView = 4439,
-            VariablePointersStorageBuffer = 4441,
-            VariablePointers = 4442,
-            AtomicStorageOps = 4445,
-            SampleMaskPostDepthCoverage = 4447,
-            StorageBuffer8BitAccess = 4448,
-            UniformAndStorageBuffer8BitAccess = 4449,
-            StoragePushConstant8 = 4450,
-            DenormPreserve = 4464,
-            DenormFlushToZero = 4465,
-            SignedZeroInfNanPreserve = 4466,
-            RoundingModeRTE = 4467,
-            RoundingModeRTZ = 4468,
-            RayQueryProvisionalKHR = 4471,
-            RayTraversalPrimitiveCullingProvisionalKHR = 4478,
-            Float16ImageAMD = 5008,
-            ImageGatherBiasLodAMD = 5009,
-            FragmentMaskAMD = 5010,
-            StencilExportEXT = 5013,
-            ImageReadWriteLodAMD = 5015,
-            ShaderClockKHR = 5055,
-            SampleMaskOverrideCoverageNV = 5249,
-            GeometryShaderPassthroughNV = 5251,
-            ShaderViewportIndexLayerEXT = 5254,
-            ShaderViewportIndexLayerNV = 5254,
-            ShaderViewportMaskNV = 5255,
-            ShaderStereoViewNV = 5259,
-            PerViewAttributesNV = 5260,
-            FragmentFullyCoveredEXT = 5265,
-            MeshShadingNV = 5266,
-            ImageFootprintNV = 5282,
-            FragmentBarycentricNV = 5284,
-            ComputeDerivativeGroupQuadsNV = 5288,
-            FragmentDensityEXT = 5291,
-            ShadingRateNV = 5291,
-            GroupNonUniformPartitionedNV = 5297,
-            ShaderNonUniform = 5301,
-            ShaderNonUniformEXT = 5301,
-            RuntimeDescriptorArray = 5302,
-            RuntimeDescriptorArrayEXT = 5302,
-            InputAttachmentArrayDynamicIndexing = 5303,
-            InputAttachmentArrayDynamicIndexingEXT = 5303,
-            UniformTexelBufferArrayDynamicIndexing = 5304,
-            UniformTexelBufferArrayDynamicIndexingEXT = 5304,
-            StorageTexelBufferArrayDynamicIndexing = 5305,
-            StorageTexelBufferArrayDynamicIndexingEXT = 5305,
-            UniformBufferArrayNonUniformIndexing = 5306,
-            UniformBufferArrayNonUniformIndexingEXT = 5306,
-            SampledImageArrayNonUniformIndexing = 5307,
-            SampledImageArrayNonUniformIndexingEXT = 5307,
-            StorageBufferArrayNonUniformIndexing = 5308,
-            StorageBufferArrayNonUniformIndexingEXT = 5308,
-            StorageImageArrayNonUniformIndexing = 5309,
-            StorageImageArrayNonUniformIndexingEXT = 5309,
-            InputAttachmentArrayNonUniformIndexing = 5310,
-            InputAttachmentArrayNonUniformIndexingEXT = 5310,
-            UniformTexelBufferArrayNonUniformIndexing = 5311,
-            UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
-            StorageTexelBufferArrayNonUniformIndexing = 5312,
-            StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
-            RayTracingNV = 5340,
-            VulkanMemoryModel = 5345,
-            VulkanMemoryModelKHR = 5345,
-            VulkanMemoryModelDeviceScope = 5346,
-            VulkanMemoryModelDeviceScopeKHR = 5346,
-            PhysicalStorageBufferAddresses = 5347,
-            PhysicalStorageBufferAddressesEXT = 5347,
-            ComputeDerivativeGroupLinearNV = 5350,
-            RayTracingProvisionalKHR = 5353,
-            CooperativeMatrixNV = 5357,
-            FragmentShaderSampleInterlockEXT = 5363,
-            FragmentShaderShadingRateInterlockEXT = 5372,
-            ShaderSMBuiltinsNV = 5373,
-            FragmentShaderPixelInterlockEXT = 5378,
-            DemoteToHelperInvocationEXT = 5379,
-            SubgroupShuffleINTEL = 5568,
-            SubgroupBufferBlockIOINTEL = 5569,
-            SubgroupImageBlockIOINTEL = 5570,
-            SubgroupImageMediaBlockIOINTEL = 5579,
-            IntegerFunctions2INTEL = 5584,
-            SubgroupAvcMotionEstimationINTEL = 5696,
-            SubgroupAvcMotionEstimationIntraINTEL = 5697,
-            SubgroupAvcMotionEstimationChromaINTEL = 5698,
-        }
-
-        public enum RayFlagsShift
-        {
-            OpaqueKHR = 0,
-            NoOpaqueKHR = 1,
-            TerminateOnFirstHitKHR = 2,
-            SkipClosestHitShaderKHR = 3,
-            CullBackFacingTrianglesKHR = 4,
-            CullFrontFacingTrianglesKHR = 5,
-            CullOpaqueKHR = 6,
-            CullNoOpaqueKHR = 7,
-            SkipTrianglesKHR = 8,
-            SkipAABBsKHR = 9,
-        }
-
-        public enum RayFlagsMask
-        {
-            MaskNone = 0,
-            OpaqueKHR = 0x00000001,
-            NoOpaqueKHR = 0x00000002,
-            TerminateOnFirstHitKHR = 0x00000004,
-            SkipClosestHitShaderKHR = 0x00000008,
-            CullBackFacingTrianglesKHR = 0x00000010,
-            CullFrontFacingTrianglesKHR = 0x00000020,
-            CullOpaqueKHR = 0x00000040,
-            CullNoOpaqueKHR = 0x00000080,
-            SkipTrianglesKHR = 0x00000100,
-            SkipAABBsKHR = 0x00000200,
-        }
-
-        public enum RayQueryIntersection
-        {
-            RayQueryCandidateIntersectionKHR = 0,
-            RayQueryCommittedIntersectionKHR = 1,
-        }
-
-        public enum RayQueryCommittedIntersectionType
-        {
-            RayQueryCommittedIntersectionNoneKHR = 0,
-            RayQueryCommittedIntersectionTriangleKHR = 1,
-            RayQueryCommittedIntersectionGeneratedKHR = 2,
-        }
-
-        public enum RayQueryCandidateIntersectionType
-        {
-            RayQueryCandidateIntersectionTriangleKHR = 0,
-            RayQueryCandidateIntersectionAABBKHR = 1,
-        }
-
-        public enum Op
-        {
-            OpNop = 0,
-            OpUndef = 1,
-            OpSourceContinued = 2,
-            OpSource = 3,
-            OpSourceExtension = 4,
-            OpName = 5,
-            OpMemberName = 6,
-            OpString = 7,
-            OpLine = 8,
-            OpExtension = 10,
-            OpExtInstImport = 11,
-            OpExtInst = 12,
-            OpMemoryModel = 14,
-            OpEntryPoint = 15,
-            OpExecutionMode = 16,
-            OpCapability = 17,
-            OpTypeVoid = 19,
-            OpTypeBool = 20,
-            OpTypeInt = 21,
-            OpTypeFloat = 22,
-            OpTypeVector = 23,
-            OpTypeMatrix = 24,
-            OpTypeImage = 25,
-            OpTypeSampler = 26,
-            OpTypeSampledImage = 27,
-            OpTypeArray = 28,
-            OpTypeRuntimeArray = 29,
-            OpTypeStruct = 30,
-            OpTypeOpaque = 31,
-            OpTypePointer = 32,
-            OpTypeFunction = 33,
-            OpTypeEvent = 34,
-            OpTypeDeviceEvent = 35,
-            OpTypeReserveId = 36,
-            OpTypeQueue = 37,
-            OpTypePipe = 38,
-            OpTypeForwardPointer = 39,
-            OpConstantTrue = 41,
-            OpConstantFalse = 42,
-            OpConstant = 43,
-            OpConstantComposite = 44,
-            OpConstantSampler = 45,
-            OpConstantNull = 46,
-            OpSpecConstantTrue = 48,
-            OpSpecConstantFalse = 49,
-            OpSpecConstant = 50,
-            OpSpecConstantComposite = 51,
-            OpSpecConstantOp = 52,
-            OpFunction = 54,
-            OpFunctionParameter = 55,
-            OpFunctionEnd = 56,
-            OpFunctionCall = 57,
-            OpVariable = 59,
-            OpImageTexelPointer = 60,
-            OpLoad = 61,
-            OpStore = 62,
-            OpCopyMemory = 63,
-            OpCopyMemorySized = 64,
-            OpAccessChain = 65,
-            OpInBoundsAccessChain = 66,
-            OpPtrAccessChain = 67,
-            OpArrayLength = 68,
-            OpGenericPtrMemSemantics = 69,
-            OpInBoundsPtrAccessChain = 70,
-            OpDecorate = 71,
-            OpMemberDecorate = 72,
-            OpDecorationGroup = 73,
-            OpGroupDecorate = 74,
-            OpGroupMemberDecorate = 75,
-            OpVectorExtractDynamic = 77,
-            OpVectorInsertDynamic = 78,
-            OpVectorShuffle = 79,
-            OpCompositeConstruct = 80,
-            OpCompositeExtract = 81,
-            OpCompositeInsert = 82,
-            OpCopyObject = 83,
-            OpTranspose = 84,
-            OpSampledImage = 86,
-            OpImageSampleImplicitLod = 87,
-            OpImageSampleExplicitLod = 88,
-            OpImageSampleDrefImplicitLod = 89,
-            OpImageSampleDrefExplicitLod = 90,
-            OpImageSampleProjImplicitLod = 91,
-            OpImageSampleProjExplicitLod = 92,
-            OpImageSampleProjDrefImplicitLod = 93,
-            OpImageSampleProjDrefExplicitLod = 94,
-            OpImageFetch = 95,
-            OpImageGather = 96,
-            OpImageDrefGather = 97,
-            OpImageRead = 98,
-            OpImageWrite = 99,
-            OpImage = 100,
-            OpImageQueryFormat = 101,
-            OpImageQueryOrder = 102,
-            OpImageQuerySizeLod = 103,
-            OpImageQuerySize = 104,
-            OpImageQueryLod = 105,
-            OpImageQueryLevels = 106,
-            OpImageQuerySamples = 107,
-            OpConvertFToU = 109,
-            OpConvertFToS = 110,
-            OpConvertSToF = 111,
-            OpConvertUToF = 112,
-            OpUConvert = 113,
-            OpSConvert = 114,
-            OpFConvert = 115,
-            OpQuantizeToF16 = 116,
-            OpConvertPtrToU = 117,
-            OpSatConvertSToU = 118,
-            OpSatConvertUToS = 119,
-            OpConvertUToPtr = 120,
-            OpPtrCastToGeneric = 121,
-            OpGenericCastToPtr = 122,
-            OpGenericCastToPtrExplicit = 123,
-            OpBitcast = 124,
-            OpSNegate = 126,
-            OpFNegate = 127,
-            OpIAdd = 128,
-            OpFAdd = 129,
-            OpISub = 130,
-            OpFSub = 131,
-            OpIMul = 132,
-            OpFMul = 133,
-            OpUDiv = 134,
-            OpSDiv = 135,
-            OpFDiv = 136,
-            OpUMod = 137,
-            OpSRem = 138,
-            OpSMod = 139,
-            OpFRem = 140,
-            OpFMod = 141,
-            OpVectorTimesScalar = 142,
-            OpMatrixTimesScalar = 143,
-            OpVectorTimesMatrix = 144,
-            OpMatrixTimesVector = 145,
-            OpMatrixTimesMatrix = 146,
-            OpOuterProduct = 147,
-            OpDot = 148,
-            OpIAddCarry = 149,
-            OpISubBorrow = 150,
-            OpUMulExtended = 151,
-            OpSMulExtended = 152,
-            OpAny = 154,
-            OpAll = 155,
-            OpIsNan = 156,
-            OpIsInf = 157,
-            OpIsFinite = 158,
-            OpIsNormal = 159,
-            OpSignBitSet = 160,
-            OpLessOrGreater = 161,
-            OpOrdered = 162,
-            OpUnordered = 163,
-            OpLogicalEqual = 164,
-            OpLogicalNotEqual = 165,
-            OpLogicalOr = 166,
-            OpLogicalAnd = 167,
-            OpLogicalNot = 168,
-            OpSelect = 169,
-            OpIEqual = 170,
-            OpINotEqual = 171,
-            OpUGreaterThan = 172,
-            OpSGreaterThan = 173,
-            OpUGreaterThanEqual = 174,
-            OpSGreaterThanEqual = 175,
-            OpULessThan = 176,
-            OpSLessThan = 177,
-            OpULessThanEqual = 178,
-            OpSLessThanEqual = 179,
-            OpFOrdEqual = 180,
-            OpFUnordEqual = 181,
-            OpFOrdNotEqual = 182,
-            OpFUnordNotEqual = 183,
-            OpFOrdLessThan = 184,
-            OpFUnordLessThan = 185,
-            OpFOrdGreaterThan = 186,
-            OpFUnordGreaterThan = 187,
-            OpFOrdLessThanEqual = 188,
-            OpFUnordLessThanEqual = 189,
-            OpFOrdGreaterThanEqual = 190,
-            OpFUnordGreaterThanEqual = 191,
-            OpShiftRightLogical = 194,
-            OpShiftRightArithmetic = 195,
-            OpShiftLeftLogical = 196,
-            OpBitwiseOr = 197,
-            OpBitwiseXor = 198,
-            OpBitwiseAnd = 199,
-            OpNot = 200,
-            OpBitFieldInsert = 201,
-            OpBitFieldSExtract = 202,
-            OpBitFieldUExtract = 203,
-            OpBitReverse = 204,
-            OpBitCount = 205,
-            OpDPdx = 207,
-            OpDPdy = 208,
-            OpFwidth = 209,
-            OpDPdxFine = 210,
-            OpDPdyFine = 211,
-            OpFwidthFine = 212,
-            OpDPdxCoarse = 213,
-            OpDPdyCoarse = 214,
-            OpFwidthCoarse = 215,
-            OpEmitVertex = 218,
-            OpEndPrimitive = 219,
-            OpEmitStreamVertex = 220,
-            OpEndStreamPrimitive = 221,
-            OpControlBarrier = 224,
-            OpMemoryBarrier = 225,
-            OpAtomicLoad = 227,
-            OpAtomicStore = 228,
-            OpAtomicExchange = 229,
-            OpAtomicCompareExchange = 230,
-            OpAtomicCompareExchangeWeak = 231,
-            OpAtomicIIncrement = 232,
-            OpAtomicIDecrement = 233,
-            OpAtomicIAdd = 234,
-            OpAtomicISub = 235,
-            OpAtomicSMin = 236,
-            OpAtomicUMin = 237,
-            OpAtomicSMax = 238,
-            OpAtomicUMax = 239,
-            OpAtomicAnd = 240,
-            OpAtomicOr = 241,
-            OpAtomicXor = 242,
-            OpPhi = 245,
-            OpLoopMerge = 246,
-            OpSelectionMerge = 247,
-            OpLabel = 248,
-            OpBranch = 249,
-            OpBranchConditional = 250,
-            OpSwitch = 251,
-            OpKill = 252,
-            OpReturn = 253,
-            OpReturnValue = 254,
-            OpUnreachable = 255,
-            OpLifetimeStart = 256,
-            OpLifetimeStop = 257,
-            OpGroupAsyncCopy = 259,
-            OpGroupWaitEvents = 260,
-            OpGroupAll = 261,
-            OpGroupAny = 262,
-            OpGroupBroadcast = 263,
-            OpGroupIAdd = 264,
-            OpGroupFAdd = 265,
-            OpGroupFMin = 266,
-            OpGroupUMin = 267,
-            OpGroupSMin = 268,
-            OpGroupFMax = 269,
-            OpGroupUMax = 270,
-            OpGroupSMax = 271,
-            OpReadPipe = 274,
-            OpWritePipe = 275,
-            OpReservedReadPipe = 276,
-            OpReservedWritePipe = 277,
-            OpReserveReadPipePackets = 278,
-            OpReserveWritePipePackets = 279,
-            OpCommitReadPipe = 280,
-            OpCommitWritePipe = 281,
-            OpIsValidReserveId = 282,
-            OpGetNumPipePackets = 283,
-            OpGetMaxPipePackets = 284,
-            OpGroupReserveReadPipePackets = 285,
-            OpGroupReserveWritePipePackets = 286,
-            OpGroupCommitReadPipe = 287,
-            OpGroupCommitWritePipe = 288,
-            OpEnqueueMarker = 291,
-            OpEnqueueKernel = 292,
-            OpGetKernelNDrangeSubGroupCount = 293,
-            OpGetKernelNDrangeMaxSubGroupSize = 294,
-            OpGetKernelWorkGroupSize = 295,
-            OpGetKernelPreferredWorkGroupSizeMultiple = 296,
-            OpRetainEvent = 297,
-            OpReleaseEvent = 298,
-            OpCreateUserEvent = 299,
-            OpIsValidEvent = 300,
-            OpSetUserEventStatus = 301,
-            OpCaptureEventProfilingInfo = 302,
-            OpGetDefaultQueue = 303,
-            OpBuildNDRange = 304,
-            OpImageSparseSampleImplicitLod = 305,
-            OpImageSparseSampleExplicitLod = 306,
-            OpImageSparseSampleDrefImplicitLod = 307,
-            OpImageSparseSampleDrefExplicitLod = 308,
-            OpImageSparseSampleProjImplicitLod = 309,
-            OpImageSparseSampleProjExplicitLod = 310,
-            OpImageSparseSampleProjDrefImplicitLod = 311,
-            OpImageSparseSampleProjDrefExplicitLod = 312,
-            OpImageSparseFetch = 313,
-            OpImageSparseGather = 314,
-            OpImageSparseDrefGather = 315,
-            OpImageSparseTexelsResident = 316,
-            OpNoLine = 317,
-            OpAtomicFlagTestAndSet = 318,
-            OpAtomicFlagClear = 319,
-            OpImageSparseRead = 320,
-            OpSizeOf = 321,
-            OpTypePipeStorage = 322,
-            OpConstantPipeStorage = 323,
-            OpCreatePipeFromPipeStorage = 324,
-            OpGetKernelLocalSizeForSubgroupCount = 325,
-            OpGetKernelMaxNumSubgroups = 326,
-            OpTypeNamedBarrier = 327,
-            OpNamedBarrierInitialize = 328,
-            OpMemoryNamedBarrier = 329,
-            OpModuleProcessed = 330,
-            OpExecutionModeId = 331,
-            OpDecorateId = 332,
-            OpGroupNonUniformElect = 333,
-            OpGroupNonUniformAll = 334,
-            OpGroupNonUniformAny = 335,
-            OpGroupNonUniformAllEqual = 336,
-            OpGroupNonUniformBroadcast = 337,
-            OpGroupNonUniformBroadcastFirst = 338,
-            OpGroupNonUniformBallot = 339,
-            OpGroupNonUniformInverseBallot = 340,
-            OpGroupNonUniformBallotBitExtract = 341,
-            OpGroupNonUniformBallotBitCount = 342,
-            OpGroupNonUniformBallotFindLSB = 343,
-            OpGroupNonUniformBallotFindMSB = 344,
-            OpGroupNonUniformShuffle = 345,
-            OpGroupNonUniformShuffleXor = 346,
-            OpGroupNonUniformShuffleUp = 347,
-            OpGroupNonUniformShuffleDown = 348,
-            OpGroupNonUniformIAdd = 349,
-            OpGroupNonUniformFAdd = 350,
-            OpGroupNonUniformIMul = 351,
-            OpGroupNonUniformFMul = 352,
-            OpGroupNonUniformSMin = 353,
-            OpGroupNonUniformUMin = 354,
-            OpGroupNonUniformFMin = 355,
-            OpGroupNonUniformSMax = 356,
-            OpGroupNonUniformUMax = 357,
-            OpGroupNonUniformFMax = 358,
-            OpGroupNonUniformBitwiseAnd = 359,
-            OpGroupNonUniformBitwiseOr = 360,
-            OpGroupNonUniformBitwiseXor = 361,
-            OpGroupNonUniformLogicalAnd = 362,
-            OpGroupNonUniformLogicalOr = 363,
-            OpGroupNonUniformLogicalXor = 364,
-            OpGroupNonUniformQuadBroadcast = 365,
-            OpGroupNonUniformQuadSwap = 366,
-            OpCopyLogical = 400,
-            OpPtrEqual = 401,
-            OpPtrNotEqual = 402,
-            OpPtrDiff = 403,
-            OpSubgroupBallotKHR = 4421,
-            OpSubgroupFirstInvocationKHR = 4422,
-            OpSubgroupAllKHR = 4428,
-            OpSubgroupAnyKHR = 4429,
-            OpSubgroupAllEqualKHR = 4430,
-            OpSubgroupReadInvocationKHR = 4432,
-            OpTypeRayQueryProvisionalKHR = 4472,
-            OpRayQueryInitializeKHR = 4473,
-            OpRayQueryTerminateKHR = 4474,
-            OpRayQueryGenerateIntersectionKHR = 4475,
-            OpRayQueryConfirmIntersectionKHR = 4476,
-            OpRayQueryProceedKHR = 4477,
-            OpRayQueryGetIntersectionTypeKHR = 4479,
-            OpGroupIAddNonUniformAMD = 5000,
-            OpGroupFAddNonUniformAMD = 5001,
-            OpGroupFMinNonUniformAMD = 5002,
-            OpGroupUMinNonUniformAMD = 5003,
-            OpGroupSMinNonUniformAMD = 5004,
-            OpGroupFMaxNonUniformAMD = 5005,
-            OpGroupUMaxNonUniformAMD = 5006,
-            OpGroupSMaxNonUniformAMD = 5007,
-            OpFragmentMaskFetchAMD = 5011,
-            OpFragmentFetchAMD = 5012,
-            OpReadClockKHR = 5056,
-            OpImageSampleFootprintNV = 5283,
-            OpGroupNonUniformPartitionNV = 5296,
-            OpWritePackedPrimitiveIndices4x8NV = 5299,
-            OpReportIntersectionKHR = 5334,
-            OpReportIntersectionNV = 5334,
-            OpIgnoreIntersectionKHR = 5335,
-            OpIgnoreIntersectionNV = 5335,
-            OpTerminateRayKHR = 5336,
-            OpTerminateRayNV = 5336,
-            OpTraceNV = 5337,
-            OpTraceRayKHR = 5337,
-            OpTypeAccelerationStructureKHR = 5341,
-            OpTypeAccelerationStructureNV = 5341,
-            OpExecuteCallableKHR = 5344,
-            OpExecuteCallableNV = 5344,
-            OpTypeCooperativeMatrixNV = 5358,
-            OpCooperativeMatrixLoadNV = 5359,
-            OpCooperativeMatrixStoreNV = 5360,
-            OpCooperativeMatrixMulAddNV = 5361,
-            OpCooperativeMatrixLengthNV = 5362,
-            OpBeginInvocationInterlockEXT = 5364,
-            OpEndInvocationInterlockEXT = 5365,
-            OpDemoteToHelperInvocationEXT = 5380,
-            OpIsHelperInvocationEXT = 5381,
-            OpSubgroupShuffleINTEL = 5571,
-            OpSubgroupShuffleDownINTEL = 5572,
-            OpSubgroupShuffleUpINTEL = 5573,
-            OpSubgroupShuffleXorINTEL = 5574,
-            OpSubgroupBlockReadINTEL = 5575,
-            OpSubgroupBlockWriteINTEL = 5576,
-            OpSubgroupImageBlockReadINTEL = 5577,
-            OpSubgroupImageBlockWriteINTEL = 5578,
-            OpSubgroupImageMediaBlockReadINTEL = 5580,
-            OpSubgroupImageMediaBlockWriteINTEL = 5581,
-            OpUCountLeadingZerosINTEL = 5585,
-            OpUCountTrailingZerosINTEL = 5586,
-            OpAbsISubINTEL = 5587,
-            OpAbsUSubINTEL = 5588,
-            OpIAddSatINTEL = 5589,
-            OpUAddSatINTEL = 5590,
-            OpIAverageINTEL = 5591,
-            OpUAverageINTEL = 5592,
-            OpIAverageRoundedINTEL = 5593,
-            OpUAverageRoundedINTEL = 5594,
-            OpISubSatINTEL = 5595,
-            OpUSubSatINTEL = 5596,
-            OpIMul32x16INTEL = 5597,
-            OpUMul32x16INTEL = 5598,
-            OpDecorateString = 5632,
-            OpDecorateStringGOOGLE = 5632,
-            OpMemberDecorateString = 5633,
-            OpMemberDecorateStringGOOGLE = 5633,
-            OpVmeImageINTEL = 5699,
-            OpTypeVmeImageINTEL = 5700,
-            OpTypeAvcImePayloadINTEL = 5701,
-            OpTypeAvcRefPayloadINTEL = 5702,
-            OpTypeAvcSicPayloadINTEL = 5703,
-            OpTypeAvcMcePayloadINTEL = 5704,
-            OpTypeAvcMceResultINTEL = 5705,
-            OpTypeAvcImeResultINTEL = 5706,
-            OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
-            OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
-            OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
-            OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
-            OpTypeAvcRefResultINTEL = 5711,
-            OpTypeAvcSicResultINTEL = 5712,
-            OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
-            OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
-            OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
-            OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
-            OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
-            OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
-            OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
-            OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
-            OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
-            OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
-            OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
-            OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
-            OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
-            OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
-            OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
-            OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
-            OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
-            OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
-            OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
-            OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
-            OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
-            OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
-            OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
-            OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
-            OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
-            OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
-            OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
-            OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
-            OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
-            OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
-            OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
-            OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
-            OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
-            OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
-            OpSubgroupAvcImeInitializeINTEL = 5747,
-            OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
-            OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
-            OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
-            OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
-            OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
-            OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
-            OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
-            OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
-            OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
-            OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
-            OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
-            OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
-            OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
-            OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
-            OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
-            OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
-            OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
-            OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
-            OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
-            OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
-            OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
-            OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
-            OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
-            OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
-            OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
-            OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
-            OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
-            OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
-            OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
-            OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
-            OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
-            OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
-            OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
-            OpSubgroupAvcFmeInitializeINTEL = 5781,
-            OpSubgroupAvcBmeInitializeINTEL = 5782,
-            OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
-            OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
-            OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
-            OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
-            OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
-            OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
-            OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
-            OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
-            OpSubgroupAvcSicInitializeINTEL = 5791,
-            OpSubgroupAvcSicConfigureSkcINTEL = 5792,
-            OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
-            OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
-            OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
-            OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
-            OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
-            OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
-            OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
-            OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
-            OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
-            OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
-            OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
-            OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
-            OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
-            OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
-            OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
-            OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
-            OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
-            OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
-            OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
-            OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
-            OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
-            OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
-            OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
-            OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
-            OpRayQueryGetRayTMinKHR = 6016,
-            OpRayQueryGetRayFlagsKHR = 6017,
-            OpRayQueryGetIntersectionTKHR = 6018,
-            OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
-            OpRayQueryGetIntersectionInstanceIdKHR = 6020,
-            OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
-            OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
-            OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
-            OpRayQueryGetIntersectionBarycentricsKHR = 6024,
-            OpRayQueryGetIntersectionFrontFaceKHR = 6025,
-            OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
-            OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
-            OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
-            OpRayQueryGetWorldRayDirectionKHR = 6029,
-            OpRayQueryGetWorldRayOriginKHR = 6030,
-            OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
-            OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
-        }
-    }
-}
-
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
deleted file mode 100644
index dd9850d..0000000
--- a/include/spirv/unified1/spirv.h
+++ /dev/null
@@ -1,2104 +0,0 @@
-/*
-** Copyright (c) 2014-2020 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"),
-** to deal in the Materials without restriction, including without limitation
-** the rights to use, copy, modify, merge, publish, distribute, sublicense,
-** and/or sell copies of the Materials, and to permit persons to whom the
-** Materials are furnished to do so, subject to the following conditions:
-** 
-** The above copyright notice and this permission notice shall be included in
-** all copies or substantial portions of the Materials.
-** 
-** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
-** 
-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
-** IN THE MATERIALS.
-*/
-
-/*
-** This header is automatically generated by the same tool that creates
-** the Binary Section of the SPIR-V specification.
-*/
-
-/*
-** Enumeration tokens for SPIR-V, in various styles:
-**   C, C++, C++11, JSON, Lua, Python, C#, D
-** 
-** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-** - C# will use enum classes in the Specification class located in the "Spv" namespace,
-**     e.g.: Spv.Specification.SourceLanguage.GLSL
-** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
-** 
-** Some tokens act like mask values, which can be OR'd together,
-** while others are mutually exclusive.  The mask-like ones have
-** "Mask" in their name, and a parallel enum that has the shift
-** amount (1 << x) for each corresponding enumerant.
-*/
-
-#ifndef spirv_H
-#define spirv_H
-
-typedef unsigned int SpvId;
-
-#define SPV_VERSION 0x10500
-#define SPV_REVISION 3
-
-static const unsigned int SpvMagicNumber = 0x07230203;
-static const unsigned int SpvVersion = 0x00010500;
-static const unsigned int SpvRevision = 3;
-static const unsigned int SpvOpCodeMask = 0xffff;
-static const unsigned int SpvWordCountShift = 16;
-
-typedef enum SpvSourceLanguage_ {
-    SpvSourceLanguageUnknown = 0,
-    SpvSourceLanguageESSL = 1,
-    SpvSourceLanguageGLSL = 2,
-    SpvSourceLanguageOpenCL_C = 3,
-    SpvSourceLanguageOpenCL_CPP = 4,
-    SpvSourceLanguageHLSL = 5,
-    SpvSourceLanguageMax = 0x7fffffff,
-} SpvSourceLanguage;
-
-typedef enum SpvExecutionModel_ {
-    SpvExecutionModelVertex = 0,
-    SpvExecutionModelTessellationControl = 1,
-    SpvExecutionModelTessellationEvaluation = 2,
-    SpvExecutionModelGeometry = 3,
-    SpvExecutionModelFragment = 4,
-    SpvExecutionModelGLCompute = 5,
-    SpvExecutionModelKernel = 6,
-    SpvExecutionModelTaskNV = 5267,
-    SpvExecutionModelMeshNV = 5268,
-    SpvExecutionModelRayGenerationKHR = 5313,
-    SpvExecutionModelRayGenerationNV = 5313,
-    SpvExecutionModelIntersectionKHR = 5314,
-    SpvExecutionModelIntersectionNV = 5314,
-    SpvExecutionModelAnyHitKHR = 5315,
-    SpvExecutionModelAnyHitNV = 5315,
-    SpvExecutionModelClosestHitKHR = 5316,
-    SpvExecutionModelClosestHitNV = 5316,
-    SpvExecutionModelMissKHR = 5317,
-    SpvExecutionModelMissNV = 5317,
-    SpvExecutionModelCallableKHR = 5318,
-    SpvExecutionModelCallableNV = 5318,
-    SpvExecutionModelMax = 0x7fffffff,
-} SpvExecutionModel;
-
-typedef enum SpvAddressingModel_ {
-    SpvAddressingModelLogical = 0,
-    SpvAddressingModelPhysical32 = 1,
-    SpvAddressingModelPhysical64 = 2,
-    SpvAddressingModelPhysicalStorageBuffer64 = 5348,
-    SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
-    SpvAddressingModelMax = 0x7fffffff,
-} SpvAddressingModel;
-
-typedef enum SpvMemoryModel_ {
-    SpvMemoryModelSimple = 0,
-    SpvMemoryModelGLSL450 = 1,
-    SpvMemoryModelOpenCL = 2,
-    SpvMemoryModelVulkan = 3,
-    SpvMemoryModelVulkanKHR = 3,
-    SpvMemoryModelMax = 0x7fffffff,
-} SpvMemoryModel;
-
-typedef enum SpvExecutionMode_ {
-    SpvExecutionModeInvocations = 0,
-    SpvExecutionModeSpacingEqual = 1,
-    SpvExecutionModeSpacingFractionalEven = 2,
-    SpvExecutionModeSpacingFractionalOdd = 3,
-    SpvExecutionModeVertexOrderCw = 4,
-    SpvExecutionModeVertexOrderCcw = 5,
-    SpvExecutionModePixelCenterInteger = 6,
-    SpvExecutionModeOriginUpperLeft = 7,
-    SpvExecutionModeOriginLowerLeft = 8,
-    SpvExecutionModeEarlyFragmentTests = 9,
-    SpvExecutionModePointMode = 10,
-    SpvExecutionModeXfb = 11,
-    SpvExecutionModeDepthReplacing = 12,
-    SpvExecutionModeDepthGreater = 14,
-    SpvExecutionModeDepthLess = 15,
-    SpvExecutionModeDepthUnchanged = 16,
-    SpvExecutionModeLocalSize = 17,
-    SpvExecutionModeLocalSizeHint = 18,
-    SpvExecutionModeInputPoints = 19,
-    SpvExecutionModeInputLines = 20,
-    SpvExecutionModeInputLinesAdjacency = 21,
-    SpvExecutionModeTriangles = 22,
-    SpvExecutionModeInputTrianglesAdjacency = 23,
-    SpvExecutionModeQuads = 24,
-    SpvExecutionModeIsolines = 25,
-    SpvExecutionModeOutputVertices = 26,
-    SpvExecutionModeOutputPoints = 27,
-    SpvExecutionModeOutputLineStrip = 28,
-    SpvExecutionModeOutputTriangleStrip = 29,
-    SpvExecutionModeVecTypeHint = 30,
-    SpvExecutionModeContractionOff = 31,
-    SpvExecutionModeInitializer = 33,
-    SpvExecutionModeFinalizer = 34,
-    SpvExecutionModeSubgroupSize = 35,
-    SpvExecutionModeSubgroupsPerWorkgroup = 36,
-    SpvExecutionModeSubgroupsPerWorkgroupId = 37,
-    SpvExecutionModeLocalSizeId = 38,
-    SpvExecutionModeLocalSizeHintId = 39,
-    SpvExecutionModePostDepthCoverage = 4446,
-    SpvExecutionModeDenormPreserve = 4459,
-    SpvExecutionModeDenormFlushToZero = 4460,
-    SpvExecutionModeSignedZeroInfNanPreserve = 4461,
-    SpvExecutionModeRoundingModeRTE = 4462,
-    SpvExecutionModeRoundingModeRTZ = 4463,
-    SpvExecutionModeStencilRefReplacingEXT = 5027,
-    SpvExecutionModeOutputLinesNV = 5269,
-    SpvExecutionModeOutputPrimitivesNV = 5270,
-    SpvExecutionModeDerivativeGroupQuadsNV = 5289,
-    SpvExecutionModeDerivativeGroupLinearNV = 5290,
-    SpvExecutionModeOutputTrianglesNV = 5298,
-    SpvExecutionModePixelInterlockOrderedEXT = 5366,
-    SpvExecutionModePixelInterlockUnorderedEXT = 5367,
-    SpvExecutionModeSampleInterlockOrderedEXT = 5368,
-    SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
-    SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
-    SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
-    SpvExecutionModeMax = 0x7fffffff,
-} SpvExecutionMode;
-
-typedef enum SpvStorageClass_ {
-    SpvStorageClassUniformConstant = 0,
-    SpvStorageClassInput = 1,
-    SpvStorageClassUniform = 2,
-    SpvStorageClassOutput = 3,
-    SpvStorageClassWorkgroup = 4,
-    SpvStorageClassCrossWorkgroup = 5,
-    SpvStorageClassPrivate = 6,
-    SpvStorageClassFunction = 7,
-    SpvStorageClassGeneric = 8,
-    SpvStorageClassPushConstant = 9,
-    SpvStorageClassAtomicCounter = 10,
-    SpvStorageClassImage = 11,
-    SpvStorageClassStorageBuffer = 12,
-    SpvStorageClassCallableDataKHR = 5328,
-    SpvStorageClassCallableDataNV = 5328,
-    SpvStorageClassIncomingCallableDataKHR = 5329,
-    SpvStorageClassIncomingCallableDataNV = 5329,
-    SpvStorageClassRayPayloadKHR = 5338,
-    SpvStorageClassRayPayloadNV = 5338,
-    SpvStorageClassHitAttributeKHR = 5339,
-    SpvStorageClassHitAttributeNV = 5339,
-    SpvStorageClassIncomingRayPayloadKHR = 5342,
-    SpvStorageClassIncomingRayPayloadNV = 5342,
-    SpvStorageClassShaderRecordBufferKHR = 5343,
-    SpvStorageClassShaderRecordBufferNV = 5343,
-    SpvStorageClassPhysicalStorageBuffer = 5349,
-    SpvStorageClassPhysicalStorageBufferEXT = 5349,
-    SpvStorageClassMax = 0x7fffffff,
-} SpvStorageClass;
-
-typedef enum SpvDim_ {
-    SpvDim1D = 0,
-    SpvDim2D = 1,
-    SpvDim3D = 2,
-    SpvDimCube = 3,
-    SpvDimRect = 4,
-    SpvDimBuffer = 5,
-    SpvDimSubpassData = 6,
-    SpvDimMax = 0x7fffffff,
-} SpvDim;
-
-typedef enum SpvSamplerAddressingMode_ {
-    SpvSamplerAddressingModeNone = 0,
-    SpvSamplerAddressingModeClampToEdge = 1,
-    SpvSamplerAddressingModeClamp = 2,
-    SpvSamplerAddressingModeRepeat = 3,
-    SpvSamplerAddressingModeRepeatMirrored = 4,
-    SpvSamplerAddressingModeMax = 0x7fffffff,
-} SpvSamplerAddressingMode;
-
-typedef enum SpvSamplerFilterMode_ {
-    SpvSamplerFilterModeNearest = 0,
-    SpvSamplerFilterModeLinear = 1,
-    SpvSamplerFilterModeMax = 0x7fffffff,
-} SpvSamplerFilterMode;
-
-typedef enum SpvImageFormat_ {
-    SpvImageFormatUnknown = 0,
-    SpvImageFormatRgba32f = 1,
-    SpvImageFormatRgba16f = 2,
-    SpvImageFormatR32f = 3,
-    SpvImageFormatRgba8 = 4,
-    SpvImageFormatRgba8Snorm = 5,
-    SpvImageFormatRg32f = 6,
-    SpvImageFormatRg16f = 7,
-    SpvImageFormatR11fG11fB10f = 8,
-    SpvImageFormatR16f = 9,
-    SpvImageFormatRgba16 = 10,
-    SpvImageFormatRgb10A2 = 11,
-    SpvImageFormatRg16 = 12,
-    SpvImageFormatRg8 = 13,
-    SpvImageFormatR16 = 14,
-    SpvImageFormatR8 = 15,
-    SpvImageFormatRgba16Snorm = 16,
-    SpvImageFormatRg16Snorm = 17,
-    SpvImageFormatRg8Snorm = 18,
-    SpvImageFormatR16Snorm = 19,
-    SpvImageFormatR8Snorm = 20,
-    SpvImageFormatRgba32i = 21,
-    SpvImageFormatRgba16i = 22,
-    SpvImageFormatRgba8i = 23,
-    SpvImageFormatR32i = 24,
-    SpvImageFormatRg32i = 25,
-    SpvImageFormatRg16i = 26,
-    SpvImageFormatRg8i = 27,
-    SpvImageFormatR16i = 28,
-    SpvImageFormatR8i = 29,
-    SpvImageFormatRgba32ui = 30,
-    SpvImageFormatRgba16ui = 31,
-    SpvImageFormatRgba8ui = 32,
-    SpvImageFormatR32ui = 33,
-    SpvImageFormatRgb10a2ui = 34,
-    SpvImageFormatRg32ui = 35,
-    SpvImageFormatRg16ui = 36,
-    SpvImageFormatRg8ui = 37,
-    SpvImageFormatR16ui = 38,
-    SpvImageFormatR8ui = 39,
-    SpvImageFormatMax = 0x7fffffff,
-} SpvImageFormat;
-
-typedef enum SpvImageChannelOrder_ {
-    SpvImageChannelOrderR = 0,
-    SpvImageChannelOrderA = 1,
-    SpvImageChannelOrderRG = 2,
-    SpvImageChannelOrderRA = 3,
-    SpvImageChannelOrderRGB = 4,
-    SpvImageChannelOrderRGBA = 5,
-    SpvImageChannelOrderBGRA = 6,
-    SpvImageChannelOrderARGB = 7,
-    SpvImageChannelOrderIntensity = 8,
-    SpvImageChannelOrderLuminance = 9,
-    SpvImageChannelOrderRx = 10,
-    SpvImageChannelOrderRGx = 11,
-    SpvImageChannelOrderRGBx = 12,
-    SpvImageChannelOrderDepth = 13,
-    SpvImageChannelOrderDepthStencil = 14,
-    SpvImageChannelOrdersRGB = 15,
-    SpvImageChannelOrdersRGBx = 16,
-    SpvImageChannelOrdersRGBA = 17,
-    SpvImageChannelOrdersBGRA = 18,
-    SpvImageChannelOrderABGR = 19,
-    SpvImageChannelOrderMax = 0x7fffffff,
-} SpvImageChannelOrder;
-
-typedef enum SpvImageChannelDataType_ {
-    SpvImageChannelDataTypeSnormInt8 = 0,
-    SpvImageChannelDataTypeSnormInt16 = 1,
-    SpvImageChannelDataTypeUnormInt8 = 2,
-    SpvImageChannelDataTypeUnormInt16 = 3,
-    SpvImageChannelDataTypeUnormShort565 = 4,
-    SpvImageChannelDataTypeUnormShort555 = 5,
-    SpvImageChannelDataTypeUnormInt101010 = 6,
-    SpvImageChannelDataTypeSignedInt8 = 7,
-    SpvImageChannelDataTypeSignedInt16 = 8,
-    SpvImageChannelDataTypeSignedInt32 = 9,
-    SpvImageChannelDataTypeUnsignedInt8 = 10,
-    SpvImageChannelDataTypeUnsignedInt16 = 11,
-    SpvImageChannelDataTypeUnsignedInt32 = 12,
-    SpvImageChannelDataTypeHalfFloat = 13,
-    SpvImageChannelDataTypeFloat = 14,
-    SpvImageChannelDataTypeUnormInt24 = 15,
-    SpvImageChannelDataTypeUnormInt101010_2 = 16,
-    SpvImageChannelDataTypeMax = 0x7fffffff,
-} SpvImageChannelDataType;
-
-typedef enum SpvImageOperandsShift_ {
-    SpvImageOperandsBiasShift = 0,
-    SpvImageOperandsLodShift = 1,
-    SpvImageOperandsGradShift = 2,
-    SpvImageOperandsConstOffsetShift = 3,
-    SpvImageOperandsOffsetShift = 4,
-    SpvImageOperandsConstOffsetsShift = 5,
-    SpvImageOperandsSampleShift = 6,
-    SpvImageOperandsMinLodShift = 7,
-    SpvImageOperandsMakeTexelAvailableShift = 8,
-    SpvImageOperandsMakeTexelAvailableKHRShift = 8,
-    SpvImageOperandsMakeTexelVisibleShift = 9,
-    SpvImageOperandsMakeTexelVisibleKHRShift = 9,
-    SpvImageOperandsNonPrivateTexelShift = 10,
-    SpvImageOperandsNonPrivateTexelKHRShift = 10,
-    SpvImageOperandsVolatileTexelShift = 11,
-    SpvImageOperandsVolatileTexelKHRShift = 11,
-    SpvImageOperandsSignExtendShift = 12,
-    SpvImageOperandsZeroExtendShift = 13,
-    SpvImageOperandsMax = 0x7fffffff,
-} SpvImageOperandsShift;
-
-typedef enum SpvImageOperandsMask_ {
-    SpvImageOperandsMaskNone = 0,
-    SpvImageOperandsBiasMask = 0x00000001,
-    SpvImageOperandsLodMask = 0x00000002,
-    SpvImageOperandsGradMask = 0x00000004,
-    SpvImageOperandsConstOffsetMask = 0x00000008,
-    SpvImageOperandsOffsetMask = 0x00000010,
-    SpvImageOperandsConstOffsetsMask = 0x00000020,
-    SpvImageOperandsSampleMask = 0x00000040,
-    SpvImageOperandsMinLodMask = 0x00000080,
-    SpvImageOperandsMakeTexelAvailableMask = 0x00000100,
-    SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
-    SpvImageOperandsMakeTexelVisibleMask = 0x00000200,
-    SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
-    SpvImageOperandsNonPrivateTexelMask = 0x00000400,
-    SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
-    SpvImageOperandsVolatileTexelMask = 0x00000800,
-    SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
-    SpvImageOperandsSignExtendMask = 0x00001000,
-    SpvImageOperandsZeroExtendMask = 0x00002000,
-} SpvImageOperandsMask;
-
-typedef enum SpvFPFastMathModeShift_ {
-    SpvFPFastMathModeNotNaNShift = 0,
-    SpvFPFastMathModeNotInfShift = 1,
-    SpvFPFastMathModeNSZShift = 2,
-    SpvFPFastMathModeAllowRecipShift = 3,
-    SpvFPFastMathModeFastShift = 4,
-    SpvFPFastMathModeMax = 0x7fffffff,
-} SpvFPFastMathModeShift;
-
-typedef enum SpvFPFastMathModeMask_ {
-    SpvFPFastMathModeMaskNone = 0,
-    SpvFPFastMathModeNotNaNMask = 0x00000001,
-    SpvFPFastMathModeNotInfMask = 0x00000002,
-    SpvFPFastMathModeNSZMask = 0x00000004,
-    SpvFPFastMathModeAllowRecipMask = 0x00000008,
-    SpvFPFastMathModeFastMask = 0x00000010,
-} SpvFPFastMathModeMask;
-
-typedef enum SpvFPRoundingMode_ {
-    SpvFPRoundingModeRTE = 0,
-    SpvFPRoundingModeRTZ = 1,
-    SpvFPRoundingModeRTP = 2,
-    SpvFPRoundingModeRTN = 3,
-    SpvFPRoundingModeMax = 0x7fffffff,
-} SpvFPRoundingMode;
-
-typedef enum SpvLinkageType_ {
-    SpvLinkageTypeExport = 0,
-    SpvLinkageTypeImport = 1,
-    SpvLinkageTypeMax = 0x7fffffff,
-} SpvLinkageType;
-
-typedef enum SpvAccessQualifier_ {
-    SpvAccessQualifierReadOnly = 0,
-    SpvAccessQualifierWriteOnly = 1,
-    SpvAccessQualifierReadWrite = 2,
-    SpvAccessQualifierMax = 0x7fffffff,
-} SpvAccessQualifier;
-
-typedef enum SpvFunctionParameterAttribute_ {
-    SpvFunctionParameterAttributeZext = 0,
-    SpvFunctionParameterAttributeSext = 1,
-    SpvFunctionParameterAttributeByVal = 2,
-    SpvFunctionParameterAttributeSret = 3,
-    SpvFunctionParameterAttributeNoAlias = 4,
-    SpvFunctionParameterAttributeNoCapture = 5,
-    SpvFunctionParameterAttributeNoWrite = 6,
-    SpvFunctionParameterAttributeNoReadWrite = 7,
-    SpvFunctionParameterAttributeMax = 0x7fffffff,
-} SpvFunctionParameterAttribute;
-
-typedef enum SpvDecoration_ {
-    SpvDecorationRelaxedPrecision = 0,
-    SpvDecorationSpecId = 1,
-    SpvDecorationBlock = 2,
-    SpvDecorationBufferBlock = 3,
-    SpvDecorationRowMajor = 4,
-    SpvDecorationColMajor = 5,
-    SpvDecorationArrayStride = 6,
-    SpvDecorationMatrixStride = 7,
-    SpvDecorationGLSLShared = 8,
-    SpvDecorationGLSLPacked = 9,
-    SpvDecorationCPacked = 10,
-    SpvDecorationBuiltIn = 11,
-    SpvDecorationNoPerspective = 13,
-    SpvDecorationFlat = 14,
-    SpvDecorationPatch = 15,
-    SpvDecorationCentroid = 16,
-    SpvDecorationSample = 17,
-    SpvDecorationInvariant = 18,
-    SpvDecorationRestrict = 19,
-    SpvDecorationAliased = 20,
-    SpvDecorationVolatile = 21,
-    SpvDecorationConstant = 22,
-    SpvDecorationCoherent = 23,
-    SpvDecorationNonWritable = 24,
-    SpvDecorationNonReadable = 25,
-    SpvDecorationUniform = 26,
-    SpvDecorationUniformId = 27,
-    SpvDecorationSaturatedConversion = 28,
-    SpvDecorationStream = 29,
-    SpvDecorationLocation = 30,
-    SpvDecorationComponent = 31,
-    SpvDecorationIndex = 32,
-    SpvDecorationBinding = 33,
-    SpvDecorationDescriptorSet = 34,
-    SpvDecorationOffset = 35,
-    SpvDecorationXfbBuffer = 36,
-    SpvDecorationXfbStride = 37,
-    SpvDecorationFuncParamAttr = 38,
-    SpvDecorationFPRoundingMode = 39,
-    SpvDecorationFPFastMathMode = 40,
-    SpvDecorationLinkageAttributes = 41,
-    SpvDecorationNoContraction = 42,
-    SpvDecorationInputAttachmentIndex = 43,
-    SpvDecorationAlignment = 44,
-    SpvDecorationMaxByteOffset = 45,
-    SpvDecorationAlignmentId = 46,
-    SpvDecorationMaxByteOffsetId = 47,
-    SpvDecorationNoSignedWrap = 4469,
-    SpvDecorationNoUnsignedWrap = 4470,
-    SpvDecorationExplicitInterpAMD = 4999,
-    SpvDecorationOverrideCoverageNV = 5248,
-    SpvDecorationPassthroughNV = 5250,
-    SpvDecorationViewportRelativeNV = 5252,
-    SpvDecorationSecondaryViewportRelativeNV = 5256,
-    SpvDecorationPerPrimitiveNV = 5271,
-    SpvDecorationPerViewNV = 5272,
-    SpvDecorationPerTaskNV = 5273,
-    SpvDecorationPerVertexNV = 5285,
-    SpvDecorationNonUniform = 5300,
-    SpvDecorationNonUniformEXT = 5300,
-    SpvDecorationRestrictPointer = 5355,
-    SpvDecorationRestrictPointerEXT = 5355,
-    SpvDecorationAliasedPointer = 5356,
-    SpvDecorationAliasedPointerEXT = 5356,
-    SpvDecorationCounterBuffer = 5634,
-    SpvDecorationHlslCounterBufferGOOGLE = 5634,
-    SpvDecorationHlslSemanticGOOGLE = 5635,
-    SpvDecorationUserSemantic = 5635,
-    SpvDecorationUserTypeGOOGLE = 5636,
-    SpvDecorationMax = 0x7fffffff,
-} SpvDecoration;
-
-typedef enum SpvBuiltIn_ {
-    SpvBuiltInPosition = 0,
-    SpvBuiltInPointSize = 1,
-    SpvBuiltInClipDistance = 3,
-    SpvBuiltInCullDistance = 4,
-    SpvBuiltInVertexId = 5,
-    SpvBuiltInInstanceId = 6,
-    SpvBuiltInPrimitiveId = 7,
-    SpvBuiltInInvocationId = 8,
-    SpvBuiltInLayer = 9,
-    SpvBuiltInViewportIndex = 10,
-    SpvBuiltInTessLevelOuter = 11,
-    SpvBuiltInTessLevelInner = 12,
-    SpvBuiltInTessCoord = 13,
-    SpvBuiltInPatchVertices = 14,
-    SpvBuiltInFragCoord = 15,
-    SpvBuiltInPointCoord = 16,
-    SpvBuiltInFrontFacing = 17,
-    SpvBuiltInSampleId = 18,
-    SpvBuiltInSamplePosition = 19,
-    SpvBuiltInSampleMask = 20,
-    SpvBuiltInFragDepth = 22,
-    SpvBuiltInHelperInvocation = 23,
-    SpvBuiltInNumWorkgroups = 24,
-    SpvBuiltInWorkgroupSize = 25,
-    SpvBuiltInWorkgroupId = 26,
-    SpvBuiltInLocalInvocationId = 27,
-    SpvBuiltInGlobalInvocationId = 28,
-    SpvBuiltInLocalInvocationIndex = 29,
-    SpvBuiltInWorkDim = 30,
-    SpvBuiltInGlobalSize = 31,
-    SpvBuiltInEnqueuedWorkgroupSize = 32,
-    SpvBuiltInGlobalOffset = 33,
-    SpvBuiltInGlobalLinearId = 34,
-    SpvBuiltInSubgroupSize = 36,
-    SpvBuiltInSubgroupMaxSize = 37,
-    SpvBuiltInNumSubgroups = 38,
-    SpvBuiltInNumEnqueuedSubgroups = 39,
-    SpvBuiltInSubgroupId = 40,
-    SpvBuiltInSubgroupLocalInvocationId = 41,
-    SpvBuiltInVertexIndex = 42,
-    SpvBuiltInInstanceIndex = 43,
-    SpvBuiltInSubgroupEqMask = 4416,
-    SpvBuiltInSubgroupEqMaskKHR = 4416,
-    SpvBuiltInSubgroupGeMask = 4417,
-    SpvBuiltInSubgroupGeMaskKHR = 4417,
-    SpvBuiltInSubgroupGtMask = 4418,
-    SpvBuiltInSubgroupGtMaskKHR = 4418,
-    SpvBuiltInSubgroupLeMask = 4419,
-    SpvBuiltInSubgroupLeMaskKHR = 4419,
-    SpvBuiltInSubgroupLtMask = 4420,
-    SpvBuiltInSubgroupLtMaskKHR = 4420,
-    SpvBuiltInBaseVertex = 4424,
-    SpvBuiltInBaseInstance = 4425,
-    SpvBuiltInDrawIndex = 4426,
-    SpvBuiltInDeviceIndex = 4438,
-    SpvBuiltInViewIndex = 4440,
-    SpvBuiltInBaryCoordNoPerspAMD = 4992,
-    SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,
-    SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,
-    SpvBuiltInBaryCoordSmoothAMD = 4995,
-    SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,
-    SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
-    SpvBuiltInBaryCoordPullModelAMD = 4998,
-    SpvBuiltInFragStencilRefEXT = 5014,
-    SpvBuiltInViewportMaskNV = 5253,
-    SpvBuiltInSecondaryPositionNV = 5257,
-    SpvBuiltInSecondaryViewportMaskNV = 5258,
-    SpvBuiltInPositionPerViewNV = 5261,
-    SpvBuiltInViewportMaskPerViewNV = 5262,
-    SpvBuiltInFullyCoveredEXT = 5264,
-    SpvBuiltInTaskCountNV = 5274,
-    SpvBuiltInPrimitiveCountNV = 5275,
-    SpvBuiltInPrimitiveIndicesNV = 5276,
-    SpvBuiltInClipDistancePerViewNV = 5277,
-    SpvBuiltInCullDistancePerViewNV = 5278,
-    SpvBuiltInLayerPerViewNV = 5279,
-    SpvBuiltInMeshViewCountNV = 5280,
-    SpvBuiltInMeshViewIndicesNV = 5281,
-    SpvBuiltInBaryCoordNV = 5286,
-    SpvBuiltInBaryCoordNoPerspNV = 5287,
-    SpvBuiltInFragSizeEXT = 5292,
-    SpvBuiltInFragmentSizeNV = 5292,
-    SpvBuiltInFragInvocationCountEXT = 5293,
-    SpvBuiltInInvocationsPerPixelNV = 5293,
-    SpvBuiltInLaunchIdKHR = 5319,
-    SpvBuiltInLaunchIdNV = 5319,
-    SpvBuiltInLaunchSizeKHR = 5320,
-    SpvBuiltInLaunchSizeNV = 5320,
-    SpvBuiltInWorldRayOriginKHR = 5321,
-    SpvBuiltInWorldRayOriginNV = 5321,
-    SpvBuiltInWorldRayDirectionKHR = 5322,
-    SpvBuiltInWorldRayDirectionNV = 5322,
-    SpvBuiltInObjectRayOriginKHR = 5323,
-    SpvBuiltInObjectRayOriginNV = 5323,
-    SpvBuiltInObjectRayDirectionKHR = 5324,
-    SpvBuiltInObjectRayDirectionNV = 5324,
-    SpvBuiltInRayTminKHR = 5325,
-    SpvBuiltInRayTminNV = 5325,
-    SpvBuiltInRayTmaxKHR = 5326,
-    SpvBuiltInRayTmaxNV = 5326,
-    SpvBuiltInInstanceCustomIndexKHR = 5327,
-    SpvBuiltInInstanceCustomIndexNV = 5327,
-    SpvBuiltInObjectToWorldKHR = 5330,
-    SpvBuiltInObjectToWorldNV = 5330,
-    SpvBuiltInWorldToObjectKHR = 5331,
-    SpvBuiltInWorldToObjectNV = 5331,
-    SpvBuiltInHitTKHR = 5332,
-    SpvBuiltInHitTNV = 5332,
-    SpvBuiltInHitKindKHR = 5333,
-    SpvBuiltInHitKindNV = 5333,
-    SpvBuiltInIncomingRayFlagsKHR = 5351,
-    SpvBuiltInIncomingRayFlagsNV = 5351,
-    SpvBuiltInRayGeometryIndexKHR = 5352,
-    SpvBuiltInWarpsPerSMNV = 5374,
-    SpvBuiltInSMCountNV = 5375,
-    SpvBuiltInWarpIDNV = 5376,
-    SpvBuiltInSMIDNV = 5377,
-    SpvBuiltInMax = 0x7fffffff,
-} SpvBuiltIn;
-
-typedef enum SpvSelectionControlShift_ {
-    SpvSelectionControlFlattenShift = 0,
-    SpvSelectionControlDontFlattenShift = 1,
-    SpvSelectionControlMax = 0x7fffffff,
-} SpvSelectionControlShift;
-
-typedef enum SpvSelectionControlMask_ {
-    SpvSelectionControlMaskNone = 0,
-    SpvSelectionControlFlattenMask = 0x00000001,
-    SpvSelectionControlDontFlattenMask = 0x00000002,
-} SpvSelectionControlMask;
-
-typedef enum SpvLoopControlShift_ {
-    SpvLoopControlUnrollShift = 0,
-    SpvLoopControlDontUnrollShift = 1,
-    SpvLoopControlDependencyInfiniteShift = 2,
-    SpvLoopControlDependencyLengthShift = 3,
-    SpvLoopControlMinIterationsShift = 4,
-    SpvLoopControlMaxIterationsShift = 5,
-    SpvLoopControlIterationMultipleShift = 6,
-    SpvLoopControlPeelCountShift = 7,
-    SpvLoopControlPartialCountShift = 8,
-    SpvLoopControlMax = 0x7fffffff,
-} SpvLoopControlShift;
-
-typedef enum SpvLoopControlMask_ {
-    SpvLoopControlMaskNone = 0,
-    SpvLoopControlUnrollMask = 0x00000001,
-    SpvLoopControlDontUnrollMask = 0x00000002,
-    SpvLoopControlDependencyInfiniteMask = 0x00000004,
-    SpvLoopControlDependencyLengthMask = 0x00000008,
-    SpvLoopControlMinIterationsMask = 0x00000010,
-    SpvLoopControlMaxIterationsMask = 0x00000020,
-    SpvLoopControlIterationMultipleMask = 0x00000040,
-    SpvLoopControlPeelCountMask = 0x00000080,
-    SpvLoopControlPartialCountMask = 0x00000100,
-} SpvLoopControlMask;
-
-typedef enum SpvFunctionControlShift_ {
-    SpvFunctionControlInlineShift = 0,
-    SpvFunctionControlDontInlineShift = 1,
-    SpvFunctionControlPureShift = 2,
-    SpvFunctionControlConstShift = 3,
-    SpvFunctionControlMax = 0x7fffffff,
-} SpvFunctionControlShift;
-
-typedef enum SpvFunctionControlMask_ {
-    SpvFunctionControlMaskNone = 0,
-    SpvFunctionControlInlineMask = 0x00000001,
-    SpvFunctionControlDontInlineMask = 0x00000002,
-    SpvFunctionControlPureMask = 0x00000004,
-    SpvFunctionControlConstMask = 0x00000008,
-} SpvFunctionControlMask;
-
-typedef enum SpvMemorySemanticsShift_ {
-    SpvMemorySemanticsAcquireShift = 1,
-    SpvMemorySemanticsReleaseShift = 2,
-    SpvMemorySemanticsAcquireReleaseShift = 3,
-    SpvMemorySemanticsSequentiallyConsistentShift = 4,
-    SpvMemorySemanticsUniformMemoryShift = 6,
-    SpvMemorySemanticsSubgroupMemoryShift = 7,
-    SpvMemorySemanticsWorkgroupMemoryShift = 8,
-    SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
-    SpvMemorySemanticsAtomicCounterMemoryShift = 10,
-    SpvMemorySemanticsImageMemoryShift = 11,
-    SpvMemorySemanticsOutputMemoryShift = 12,
-    SpvMemorySemanticsOutputMemoryKHRShift = 12,
-    SpvMemorySemanticsMakeAvailableShift = 13,
-    SpvMemorySemanticsMakeAvailableKHRShift = 13,
-    SpvMemorySemanticsMakeVisibleShift = 14,
-    SpvMemorySemanticsMakeVisibleKHRShift = 14,
-    SpvMemorySemanticsVolatileShift = 15,
-    SpvMemorySemanticsMax = 0x7fffffff,
-} SpvMemorySemanticsShift;
-
-typedef enum SpvMemorySemanticsMask_ {
-    SpvMemorySemanticsMaskNone = 0,
-    SpvMemorySemanticsAcquireMask = 0x00000002,
-    SpvMemorySemanticsReleaseMask = 0x00000004,
-    SpvMemorySemanticsAcquireReleaseMask = 0x00000008,
-    SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010,
-    SpvMemorySemanticsUniformMemoryMask = 0x00000040,
-    SpvMemorySemanticsSubgroupMemoryMask = 0x00000080,
-    SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100,
-    SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
-    SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,
-    SpvMemorySemanticsImageMemoryMask = 0x00000800,
-    SpvMemorySemanticsOutputMemoryMask = 0x00001000,
-    SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
-    SpvMemorySemanticsMakeAvailableMask = 0x00002000,
-    SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
-    SpvMemorySemanticsMakeVisibleMask = 0x00004000,
-    SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
-    SpvMemorySemanticsVolatileMask = 0x00008000,
-} SpvMemorySemanticsMask;
-
-typedef enum SpvMemoryAccessShift_ {
-    SpvMemoryAccessVolatileShift = 0,
-    SpvMemoryAccessAlignedShift = 1,
-    SpvMemoryAccessNontemporalShift = 2,
-    SpvMemoryAccessMakePointerAvailableShift = 3,
-    SpvMemoryAccessMakePointerAvailableKHRShift = 3,
-    SpvMemoryAccessMakePointerVisibleShift = 4,
-    SpvMemoryAccessMakePointerVisibleKHRShift = 4,
-    SpvMemoryAccessNonPrivatePointerShift = 5,
-    SpvMemoryAccessNonPrivatePointerKHRShift = 5,
-    SpvMemoryAccessMax = 0x7fffffff,
-} SpvMemoryAccessShift;
-
-typedef enum SpvMemoryAccessMask_ {
-    SpvMemoryAccessMaskNone = 0,
-    SpvMemoryAccessVolatileMask = 0x00000001,
-    SpvMemoryAccessAlignedMask = 0x00000002,
-    SpvMemoryAccessNontemporalMask = 0x00000004,
-    SpvMemoryAccessMakePointerAvailableMask = 0x00000008,
-    SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,
-    SpvMemoryAccessMakePointerVisibleMask = 0x00000010,
-    SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
-    SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
-    SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
-} SpvMemoryAccessMask;
-
-typedef enum SpvScope_ {
-    SpvScopeCrossDevice = 0,
-    SpvScopeDevice = 1,
-    SpvScopeWorkgroup = 2,
-    SpvScopeSubgroup = 3,
-    SpvScopeInvocation = 4,
-    SpvScopeQueueFamily = 5,
-    SpvScopeQueueFamilyKHR = 5,
-    SpvScopeShaderCallKHR = 6,
-    SpvScopeMax = 0x7fffffff,
-} SpvScope;
-
-typedef enum SpvGroupOperation_ {
-    SpvGroupOperationReduce = 0,
-    SpvGroupOperationInclusiveScan = 1,
-    SpvGroupOperationExclusiveScan = 2,
-    SpvGroupOperationClusteredReduce = 3,
-    SpvGroupOperationPartitionedReduceNV = 6,
-    SpvGroupOperationPartitionedInclusiveScanNV = 7,
-    SpvGroupOperationPartitionedExclusiveScanNV = 8,
-    SpvGroupOperationMax = 0x7fffffff,
-} SpvGroupOperation;
-
-typedef enum SpvKernelEnqueueFlags_ {
-    SpvKernelEnqueueFlagsNoWait = 0,
-    SpvKernelEnqueueFlagsWaitKernel = 1,
-    SpvKernelEnqueueFlagsWaitWorkGroup = 2,
-    SpvKernelEnqueueFlagsMax = 0x7fffffff,
-} SpvKernelEnqueueFlags;
-
-typedef enum SpvKernelProfilingInfoShift_ {
-    SpvKernelProfilingInfoCmdExecTimeShift = 0,
-    SpvKernelProfilingInfoMax = 0x7fffffff,
-} SpvKernelProfilingInfoShift;
-
-typedef enum SpvKernelProfilingInfoMask_ {
-    SpvKernelProfilingInfoMaskNone = 0,
-    SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,
-} SpvKernelProfilingInfoMask;
-
-typedef enum SpvCapability_ {
-    SpvCapabilityMatrix = 0,
-    SpvCapabilityShader = 1,
-    SpvCapabilityGeometry = 2,
-    SpvCapabilityTessellation = 3,
-    SpvCapabilityAddresses = 4,
-    SpvCapabilityLinkage = 5,
-    SpvCapabilityKernel = 6,
-    SpvCapabilityVector16 = 7,
-    SpvCapabilityFloat16Buffer = 8,
-    SpvCapabilityFloat16 = 9,
-    SpvCapabilityFloat64 = 10,
-    SpvCapabilityInt64 = 11,
-    SpvCapabilityInt64Atomics = 12,
-    SpvCapabilityImageBasic = 13,
-    SpvCapabilityImageReadWrite = 14,
-    SpvCapabilityImageMipmap = 15,
-    SpvCapabilityPipes = 17,
-    SpvCapabilityGroups = 18,
-    SpvCapabilityDeviceEnqueue = 19,
-    SpvCapabilityLiteralSampler = 20,
-    SpvCapabilityAtomicStorage = 21,
-    SpvCapabilityInt16 = 22,
-    SpvCapabilityTessellationPointSize = 23,
-    SpvCapabilityGeometryPointSize = 24,
-    SpvCapabilityImageGatherExtended = 25,
-    SpvCapabilityStorageImageMultisample = 27,
-    SpvCapabilityUniformBufferArrayDynamicIndexing = 28,
-    SpvCapabilitySampledImageArrayDynamicIndexing = 29,
-    SpvCapabilityStorageBufferArrayDynamicIndexing = 30,
-    SpvCapabilityStorageImageArrayDynamicIndexing = 31,
-    SpvCapabilityClipDistance = 32,
-    SpvCapabilityCullDistance = 33,
-    SpvCapabilityImageCubeArray = 34,
-    SpvCapabilitySampleRateShading = 35,
-    SpvCapabilityImageRect = 36,
-    SpvCapabilitySampledRect = 37,
-    SpvCapabilityGenericPointer = 38,
-    SpvCapabilityInt8 = 39,
-    SpvCapabilityInputAttachment = 40,
-    SpvCapabilitySparseResidency = 41,
-    SpvCapabilityMinLod = 42,
-    SpvCapabilitySampled1D = 43,
-    SpvCapabilityImage1D = 44,
-    SpvCapabilitySampledCubeArray = 45,
-    SpvCapabilitySampledBuffer = 46,
-    SpvCapabilityImageBuffer = 47,
-    SpvCapabilityImageMSArray = 48,
-    SpvCapabilityStorageImageExtendedFormats = 49,
-    SpvCapabilityImageQuery = 50,
-    SpvCapabilityDerivativeControl = 51,
-    SpvCapabilityInterpolationFunction = 52,
-    SpvCapabilityTransformFeedback = 53,
-    SpvCapabilityGeometryStreams = 54,
-    SpvCapabilityStorageImageReadWithoutFormat = 55,
-    SpvCapabilityStorageImageWriteWithoutFormat = 56,
-    SpvCapabilityMultiViewport = 57,
-    SpvCapabilitySubgroupDispatch = 58,
-    SpvCapabilityNamedBarrier = 59,
-    SpvCapabilityPipeStorage = 60,
-    SpvCapabilityGroupNonUniform = 61,
-    SpvCapabilityGroupNonUniformVote = 62,
-    SpvCapabilityGroupNonUniformArithmetic = 63,
-    SpvCapabilityGroupNonUniformBallot = 64,
-    SpvCapabilityGroupNonUniformShuffle = 65,
-    SpvCapabilityGroupNonUniformShuffleRelative = 66,
-    SpvCapabilityGroupNonUniformClustered = 67,
-    SpvCapabilityGroupNonUniformQuad = 68,
-    SpvCapabilityShaderLayer = 69,
-    SpvCapabilityShaderViewportIndex = 70,
-    SpvCapabilitySubgroupBallotKHR = 4423,
-    SpvCapabilityDrawParameters = 4427,
-    SpvCapabilitySubgroupVoteKHR = 4431,
-    SpvCapabilityStorageBuffer16BitAccess = 4433,
-    SpvCapabilityStorageUniformBufferBlock16 = 4433,
-    SpvCapabilityStorageUniform16 = 4434,
-    SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,
-    SpvCapabilityStoragePushConstant16 = 4435,
-    SpvCapabilityStorageInputOutput16 = 4436,
-    SpvCapabilityDeviceGroup = 4437,
-    SpvCapabilityMultiView = 4439,
-    SpvCapabilityVariablePointersStorageBuffer = 4441,
-    SpvCapabilityVariablePointers = 4442,
-    SpvCapabilityAtomicStorageOps = 4445,
-    SpvCapabilitySampleMaskPostDepthCoverage = 4447,
-    SpvCapabilityStorageBuffer8BitAccess = 4448,
-    SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,
-    SpvCapabilityStoragePushConstant8 = 4450,
-    SpvCapabilityDenormPreserve = 4464,
-    SpvCapabilityDenormFlushToZero = 4465,
-    SpvCapabilitySignedZeroInfNanPreserve = 4466,
-    SpvCapabilityRoundingModeRTE = 4467,
-    SpvCapabilityRoundingModeRTZ = 4468,
-    SpvCapabilityRayQueryProvisionalKHR = 4471,
-    SpvCapabilityRayTraversalPrimitiveCullingProvisionalKHR = 4478,
-    SpvCapabilityFloat16ImageAMD = 5008,
-    SpvCapabilityImageGatherBiasLodAMD = 5009,
-    SpvCapabilityFragmentMaskAMD = 5010,
-    SpvCapabilityStencilExportEXT = 5013,
-    SpvCapabilityImageReadWriteLodAMD = 5015,
-    SpvCapabilityShaderClockKHR = 5055,
-    SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
-    SpvCapabilityGeometryShaderPassthroughNV = 5251,
-    SpvCapabilityShaderViewportIndexLayerEXT = 5254,
-    SpvCapabilityShaderViewportIndexLayerNV = 5254,
-    SpvCapabilityShaderViewportMaskNV = 5255,
-    SpvCapabilityShaderStereoViewNV = 5259,
-    SpvCapabilityPerViewAttributesNV = 5260,
-    SpvCapabilityFragmentFullyCoveredEXT = 5265,
-    SpvCapabilityMeshShadingNV = 5266,
-    SpvCapabilityImageFootprintNV = 5282,
-    SpvCapabilityFragmentBarycentricNV = 5284,
-    SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
-    SpvCapabilityFragmentDensityEXT = 5291,
-    SpvCapabilityShadingRateNV = 5291,
-    SpvCapabilityGroupNonUniformPartitionedNV = 5297,
-    SpvCapabilityShaderNonUniform = 5301,
-    SpvCapabilityShaderNonUniformEXT = 5301,
-    SpvCapabilityRuntimeDescriptorArray = 5302,
-    SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
-    SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303,
-    SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
-    SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
-    SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
-    SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
-    SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
-    SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306,
-    SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
-    SpvCapabilitySampledImageArrayNonUniformIndexing = 5307,
-    SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
-    SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308,
-    SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
-    SpvCapabilityStorageImageArrayNonUniformIndexing = 5309,
-    SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
-    SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310,
-    SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
-    SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
-    SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
-    SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
-    SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
-    SpvCapabilityRayTracingNV = 5340,
-    SpvCapabilityVulkanMemoryModel = 5345,
-    SpvCapabilityVulkanMemoryModelKHR = 5345,
-    SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
-    SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
-    SpvCapabilityPhysicalStorageBufferAddresses = 5347,
-    SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
-    SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
-    SpvCapabilityRayTracingProvisionalKHR = 5353,
-    SpvCapabilityCooperativeMatrixNV = 5357,
-    SpvCapabilityFragmentShaderSampleInterlockEXT = 5363,
-    SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
-    SpvCapabilityShaderSMBuiltinsNV = 5373,
-    SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
-    SpvCapabilityDemoteToHelperInvocationEXT = 5379,
-    SpvCapabilitySubgroupShuffleINTEL = 5568,
-    SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
-    SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
-    SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
-    SpvCapabilityIntegerFunctions2INTEL = 5584,
-    SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
-    SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
-    SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
-    SpvCapabilityMax = 0x7fffffff,
-} SpvCapability;
-
-typedef enum SpvRayFlagsShift_ {
-    SpvRayFlagsOpaqueKHRShift = 0,
-    SpvRayFlagsNoOpaqueKHRShift = 1,
-    SpvRayFlagsTerminateOnFirstHitKHRShift = 2,
-    SpvRayFlagsSkipClosestHitShaderKHRShift = 3,
-    SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,
-    SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,
-    SpvRayFlagsCullOpaqueKHRShift = 6,
-    SpvRayFlagsCullNoOpaqueKHRShift = 7,
-    SpvRayFlagsSkipTrianglesKHRShift = 8,
-    SpvRayFlagsSkipAABBsKHRShift = 9,
-    SpvRayFlagsMax = 0x7fffffff,
-} SpvRayFlagsShift;
-
-typedef enum SpvRayFlagsMask_ {
-    SpvRayFlagsMaskNone = 0,
-    SpvRayFlagsOpaqueKHRMask = 0x00000001,
-    SpvRayFlagsNoOpaqueKHRMask = 0x00000002,
-    SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
-    SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
-    SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
-    SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
-    SpvRayFlagsCullOpaqueKHRMask = 0x00000040,
-    SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
-    SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
-    SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
-} SpvRayFlagsMask;
-
-typedef enum SpvRayQueryIntersection_ {
-    SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
-    SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
-    SpvRayQueryIntersectionMax = 0x7fffffff,
-} SpvRayQueryIntersection;
-
-typedef enum SpvRayQueryCommittedIntersectionType_ {
-    SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
-    SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
-    SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
-    SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff,
-} SpvRayQueryCommittedIntersectionType;
-
-typedef enum SpvRayQueryCandidateIntersectionType_ {
-    SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
-    SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
-    SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff,
-} SpvRayQueryCandidateIntersectionType;
-
-typedef enum SpvOp_ {
-    SpvOpNop = 0,
-    SpvOpUndef = 1,
-    SpvOpSourceContinued = 2,
-    SpvOpSource = 3,
-    SpvOpSourceExtension = 4,
-    SpvOpName = 5,
-    SpvOpMemberName = 6,
-    SpvOpString = 7,
-    SpvOpLine = 8,
-    SpvOpExtension = 10,
-    SpvOpExtInstImport = 11,
-    SpvOpExtInst = 12,
-    SpvOpMemoryModel = 14,
-    SpvOpEntryPoint = 15,
-    SpvOpExecutionMode = 16,
-    SpvOpCapability = 17,
-    SpvOpTypeVoid = 19,
-    SpvOpTypeBool = 20,
-    SpvOpTypeInt = 21,
-    SpvOpTypeFloat = 22,
-    SpvOpTypeVector = 23,
-    SpvOpTypeMatrix = 24,
-    SpvOpTypeImage = 25,
-    SpvOpTypeSampler = 26,
-    SpvOpTypeSampledImage = 27,
-    SpvOpTypeArray = 28,
-    SpvOpTypeRuntimeArray = 29,
-    SpvOpTypeStruct = 30,
-    SpvOpTypeOpaque = 31,
-    SpvOpTypePointer = 32,
-    SpvOpTypeFunction = 33,
-    SpvOpTypeEvent = 34,
-    SpvOpTypeDeviceEvent = 35,
-    SpvOpTypeReserveId = 36,
-    SpvOpTypeQueue = 37,
-    SpvOpTypePipe = 38,
-    SpvOpTypeForwardPointer = 39,
-    SpvOpConstantTrue = 41,
-    SpvOpConstantFalse = 42,
-    SpvOpConstant = 43,
-    SpvOpConstantComposite = 44,
-    SpvOpConstantSampler = 45,
-    SpvOpConstantNull = 46,
-    SpvOpSpecConstantTrue = 48,
-    SpvOpSpecConstantFalse = 49,
-    SpvOpSpecConstant = 50,
-    SpvOpSpecConstantComposite = 51,
-    SpvOpSpecConstantOp = 52,
-    SpvOpFunction = 54,
-    SpvOpFunctionParameter = 55,
-    SpvOpFunctionEnd = 56,
-    SpvOpFunctionCall = 57,
-    SpvOpVariable = 59,
-    SpvOpImageTexelPointer = 60,
-    SpvOpLoad = 61,
-    SpvOpStore = 62,
-    SpvOpCopyMemory = 63,
-    SpvOpCopyMemorySized = 64,
-    SpvOpAccessChain = 65,
-    SpvOpInBoundsAccessChain = 66,
-    SpvOpPtrAccessChain = 67,
-    SpvOpArrayLength = 68,
-    SpvOpGenericPtrMemSemantics = 69,
-    SpvOpInBoundsPtrAccessChain = 70,
-    SpvOpDecorate = 71,
-    SpvOpMemberDecorate = 72,
-    SpvOpDecorationGroup = 73,
-    SpvOpGroupDecorate = 74,
-    SpvOpGroupMemberDecorate = 75,
-    SpvOpVectorExtractDynamic = 77,
-    SpvOpVectorInsertDynamic = 78,
-    SpvOpVectorShuffle = 79,
-    SpvOpCompositeConstruct = 80,
-    SpvOpCompositeExtract = 81,
-    SpvOpCompositeInsert = 82,
-    SpvOpCopyObject = 83,
-    SpvOpTranspose = 84,
-    SpvOpSampledImage = 86,
-    SpvOpImageSampleImplicitLod = 87,
-    SpvOpImageSampleExplicitLod = 88,
-    SpvOpImageSampleDrefImplicitLod = 89,
-    SpvOpImageSampleDrefExplicitLod = 90,
-    SpvOpImageSampleProjImplicitLod = 91,
-    SpvOpImageSampleProjExplicitLod = 92,
-    SpvOpImageSampleProjDrefImplicitLod = 93,
-    SpvOpImageSampleProjDrefExplicitLod = 94,
-    SpvOpImageFetch = 95,
-    SpvOpImageGather = 96,
-    SpvOpImageDrefGather = 97,
-    SpvOpImageRead = 98,
-    SpvOpImageWrite = 99,
-    SpvOpImage = 100,
-    SpvOpImageQueryFormat = 101,
-    SpvOpImageQueryOrder = 102,
-    SpvOpImageQuerySizeLod = 103,
-    SpvOpImageQuerySize = 104,
-    SpvOpImageQueryLod = 105,
-    SpvOpImageQueryLevels = 106,
-    SpvOpImageQuerySamples = 107,
-    SpvOpConvertFToU = 109,
-    SpvOpConvertFToS = 110,
-    SpvOpConvertSToF = 111,
-    SpvOpConvertUToF = 112,
-    SpvOpUConvert = 113,
-    SpvOpSConvert = 114,
-    SpvOpFConvert = 115,
-    SpvOpQuantizeToF16 = 116,
-    SpvOpConvertPtrToU = 117,
-    SpvOpSatConvertSToU = 118,
-    SpvOpSatConvertUToS = 119,
-    SpvOpConvertUToPtr = 120,
-    SpvOpPtrCastToGeneric = 121,
-    SpvOpGenericCastToPtr = 122,
-    SpvOpGenericCastToPtrExplicit = 123,
-    SpvOpBitcast = 124,
-    SpvOpSNegate = 126,
-    SpvOpFNegate = 127,
-    SpvOpIAdd = 128,
-    SpvOpFAdd = 129,
-    SpvOpISub = 130,
-    SpvOpFSub = 131,
-    SpvOpIMul = 132,
-    SpvOpFMul = 133,
-    SpvOpUDiv = 134,
-    SpvOpSDiv = 135,
-    SpvOpFDiv = 136,
-    SpvOpUMod = 137,
-    SpvOpSRem = 138,
-    SpvOpSMod = 139,
-    SpvOpFRem = 140,
-    SpvOpFMod = 141,
-    SpvOpVectorTimesScalar = 142,
-    SpvOpMatrixTimesScalar = 143,
-    SpvOpVectorTimesMatrix = 144,
-    SpvOpMatrixTimesVector = 145,
-    SpvOpMatrixTimesMatrix = 146,
-    SpvOpOuterProduct = 147,
-    SpvOpDot = 148,
-    SpvOpIAddCarry = 149,
-    SpvOpISubBorrow = 150,
-    SpvOpUMulExtended = 151,
-    SpvOpSMulExtended = 152,
-    SpvOpAny = 154,
-    SpvOpAll = 155,
-    SpvOpIsNan = 156,
-    SpvOpIsInf = 157,
-    SpvOpIsFinite = 158,
-    SpvOpIsNormal = 159,
-    SpvOpSignBitSet = 160,
-    SpvOpLessOrGreater = 161,
-    SpvOpOrdered = 162,
-    SpvOpUnordered = 163,
-    SpvOpLogicalEqual = 164,
-    SpvOpLogicalNotEqual = 165,
-    SpvOpLogicalOr = 166,
-    SpvOpLogicalAnd = 167,
-    SpvOpLogicalNot = 168,
-    SpvOpSelect = 169,
-    SpvOpIEqual = 170,
-    SpvOpINotEqual = 171,
-    SpvOpUGreaterThan = 172,
-    SpvOpSGreaterThan = 173,
-    SpvOpUGreaterThanEqual = 174,
-    SpvOpSGreaterThanEqual = 175,
-    SpvOpULessThan = 176,
-    SpvOpSLessThan = 177,
-    SpvOpULessThanEqual = 178,
-    SpvOpSLessThanEqual = 179,
-    SpvOpFOrdEqual = 180,
-    SpvOpFUnordEqual = 181,
-    SpvOpFOrdNotEqual = 182,
-    SpvOpFUnordNotEqual = 183,
-    SpvOpFOrdLessThan = 184,
-    SpvOpFUnordLessThan = 185,
-    SpvOpFOrdGreaterThan = 186,
-    SpvOpFUnordGreaterThan = 187,
-    SpvOpFOrdLessThanEqual = 188,
-    SpvOpFUnordLessThanEqual = 189,
-    SpvOpFOrdGreaterThanEqual = 190,
-    SpvOpFUnordGreaterThanEqual = 191,
-    SpvOpShiftRightLogical = 194,
-    SpvOpShiftRightArithmetic = 195,
-    SpvOpShiftLeftLogical = 196,
-    SpvOpBitwiseOr = 197,
-    SpvOpBitwiseXor = 198,
-    SpvOpBitwiseAnd = 199,
-    SpvOpNot = 200,
-    SpvOpBitFieldInsert = 201,
-    SpvOpBitFieldSExtract = 202,
-    SpvOpBitFieldUExtract = 203,
-    SpvOpBitReverse = 204,
-    SpvOpBitCount = 205,
-    SpvOpDPdx = 207,
-    SpvOpDPdy = 208,
-    SpvOpFwidth = 209,
-    SpvOpDPdxFine = 210,
-    SpvOpDPdyFine = 211,
-    SpvOpFwidthFine = 212,
-    SpvOpDPdxCoarse = 213,
-    SpvOpDPdyCoarse = 214,
-    SpvOpFwidthCoarse = 215,
-    SpvOpEmitVertex = 218,
-    SpvOpEndPrimitive = 219,
-    SpvOpEmitStreamVertex = 220,
-    SpvOpEndStreamPrimitive = 221,
-    SpvOpControlBarrier = 224,
-    SpvOpMemoryBarrier = 225,
-    SpvOpAtomicLoad = 227,
-    SpvOpAtomicStore = 228,
-    SpvOpAtomicExchange = 229,
-    SpvOpAtomicCompareExchange = 230,
-    SpvOpAtomicCompareExchangeWeak = 231,
-    SpvOpAtomicIIncrement = 232,
-    SpvOpAtomicIDecrement = 233,
-    SpvOpAtomicIAdd = 234,
-    SpvOpAtomicISub = 235,
-    SpvOpAtomicSMin = 236,
-    SpvOpAtomicUMin = 237,
-    SpvOpAtomicSMax = 238,
-    SpvOpAtomicUMax = 239,
-    SpvOpAtomicAnd = 240,
-    SpvOpAtomicOr = 241,
-    SpvOpAtomicXor = 242,
-    SpvOpPhi = 245,
-    SpvOpLoopMerge = 246,
-    SpvOpSelectionMerge = 247,
-    SpvOpLabel = 248,
-    SpvOpBranch = 249,
-    SpvOpBranchConditional = 250,
-    SpvOpSwitch = 251,
-    SpvOpKill = 252,
-    SpvOpReturn = 253,
-    SpvOpReturnValue = 254,
-    SpvOpUnreachable = 255,
-    SpvOpLifetimeStart = 256,
-    SpvOpLifetimeStop = 257,
-    SpvOpGroupAsyncCopy = 259,
-    SpvOpGroupWaitEvents = 260,
-    SpvOpGroupAll = 261,
-    SpvOpGroupAny = 262,
-    SpvOpGroupBroadcast = 263,
-    SpvOpGroupIAdd = 264,
-    SpvOpGroupFAdd = 265,
-    SpvOpGroupFMin = 266,
-    SpvOpGroupUMin = 267,
-    SpvOpGroupSMin = 268,
-    SpvOpGroupFMax = 269,
-    SpvOpGroupUMax = 270,
-    SpvOpGroupSMax = 271,
-    SpvOpReadPipe = 274,
-    SpvOpWritePipe = 275,
-    SpvOpReservedReadPipe = 276,
-    SpvOpReservedWritePipe = 277,
-    SpvOpReserveReadPipePackets = 278,
-    SpvOpReserveWritePipePackets = 279,
-    SpvOpCommitReadPipe = 280,
-    SpvOpCommitWritePipe = 281,
-    SpvOpIsValidReserveId = 282,
-    SpvOpGetNumPipePackets = 283,
-    SpvOpGetMaxPipePackets = 284,
-    SpvOpGroupReserveReadPipePackets = 285,
-    SpvOpGroupReserveWritePipePackets = 286,
-    SpvOpGroupCommitReadPipe = 287,
-    SpvOpGroupCommitWritePipe = 288,
-    SpvOpEnqueueMarker = 291,
-    SpvOpEnqueueKernel = 292,
-    SpvOpGetKernelNDrangeSubGroupCount = 293,
-    SpvOpGetKernelNDrangeMaxSubGroupSize = 294,
-    SpvOpGetKernelWorkGroupSize = 295,
-    SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296,
-    SpvOpRetainEvent = 297,
-    SpvOpReleaseEvent = 298,
-    SpvOpCreateUserEvent = 299,
-    SpvOpIsValidEvent = 300,
-    SpvOpSetUserEventStatus = 301,
-    SpvOpCaptureEventProfilingInfo = 302,
-    SpvOpGetDefaultQueue = 303,
-    SpvOpBuildNDRange = 304,
-    SpvOpImageSparseSampleImplicitLod = 305,
-    SpvOpImageSparseSampleExplicitLod = 306,
-    SpvOpImageSparseSampleDrefImplicitLod = 307,
-    SpvOpImageSparseSampleDrefExplicitLod = 308,
-    SpvOpImageSparseSampleProjImplicitLod = 309,
-    SpvOpImageSparseSampleProjExplicitLod = 310,
-    SpvOpImageSparseSampleProjDrefImplicitLod = 311,
-    SpvOpImageSparseSampleProjDrefExplicitLod = 312,
-    SpvOpImageSparseFetch = 313,
-    SpvOpImageSparseGather = 314,
-    SpvOpImageSparseDrefGather = 315,
-    SpvOpImageSparseTexelsResident = 316,
-    SpvOpNoLine = 317,
-    SpvOpAtomicFlagTestAndSet = 318,
-    SpvOpAtomicFlagClear = 319,
-    SpvOpImageSparseRead = 320,
-    SpvOpSizeOf = 321,
-    SpvOpTypePipeStorage = 322,
-    SpvOpConstantPipeStorage = 323,
-    SpvOpCreatePipeFromPipeStorage = 324,
-    SpvOpGetKernelLocalSizeForSubgroupCount = 325,
-    SpvOpGetKernelMaxNumSubgroups = 326,
-    SpvOpTypeNamedBarrier = 327,
-    SpvOpNamedBarrierInitialize = 328,
-    SpvOpMemoryNamedBarrier = 329,
-    SpvOpModuleProcessed = 330,
-    SpvOpExecutionModeId = 331,
-    SpvOpDecorateId = 332,
-    SpvOpGroupNonUniformElect = 333,
-    SpvOpGroupNonUniformAll = 334,
-    SpvOpGroupNonUniformAny = 335,
-    SpvOpGroupNonUniformAllEqual = 336,
-    SpvOpGroupNonUniformBroadcast = 337,
-    SpvOpGroupNonUniformBroadcastFirst = 338,
-    SpvOpGroupNonUniformBallot = 339,
-    SpvOpGroupNonUniformInverseBallot = 340,
-    SpvOpGroupNonUniformBallotBitExtract = 341,
-    SpvOpGroupNonUniformBallotBitCount = 342,
-    SpvOpGroupNonUniformBallotFindLSB = 343,
-    SpvOpGroupNonUniformBallotFindMSB = 344,
-    SpvOpGroupNonUniformShuffle = 345,
-    SpvOpGroupNonUniformShuffleXor = 346,
-    SpvOpGroupNonUniformShuffleUp = 347,
-    SpvOpGroupNonUniformShuffleDown = 348,
-    SpvOpGroupNonUniformIAdd = 349,
-    SpvOpGroupNonUniformFAdd = 350,
-    SpvOpGroupNonUniformIMul = 351,
-    SpvOpGroupNonUniformFMul = 352,
-    SpvOpGroupNonUniformSMin = 353,
-    SpvOpGroupNonUniformUMin = 354,
-    SpvOpGroupNonUniformFMin = 355,
-    SpvOpGroupNonUniformSMax = 356,
-    SpvOpGroupNonUniformUMax = 357,
-    SpvOpGroupNonUniformFMax = 358,
-    SpvOpGroupNonUniformBitwiseAnd = 359,
-    SpvOpGroupNonUniformBitwiseOr = 360,
-    SpvOpGroupNonUniformBitwiseXor = 361,
-    SpvOpGroupNonUniformLogicalAnd = 362,
-    SpvOpGroupNonUniformLogicalOr = 363,
-    SpvOpGroupNonUniformLogicalXor = 364,
-    SpvOpGroupNonUniformQuadBroadcast = 365,
-    SpvOpGroupNonUniformQuadSwap = 366,
-    SpvOpCopyLogical = 400,
-    SpvOpPtrEqual = 401,
-    SpvOpPtrNotEqual = 402,
-    SpvOpPtrDiff = 403,
-    SpvOpSubgroupBallotKHR = 4421,
-    SpvOpSubgroupFirstInvocationKHR = 4422,
-    SpvOpSubgroupAllKHR = 4428,
-    SpvOpSubgroupAnyKHR = 4429,
-    SpvOpSubgroupAllEqualKHR = 4430,
-    SpvOpSubgroupReadInvocationKHR = 4432,
-    SpvOpTypeRayQueryProvisionalKHR = 4472,
-    SpvOpRayQueryInitializeKHR = 4473,
-    SpvOpRayQueryTerminateKHR = 4474,
-    SpvOpRayQueryGenerateIntersectionKHR = 4475,
-    SpvOpRayQueryConfirmIntersectionKHR = 4476,
-    SpvOpRayQueryProceedKHR = 4477,
-    SpvOpRayQueryGetIntersectionTypeKHR = 4479,
-    SpvOpGroupIAddNonUniformAMD = 5000,
-    SpvOpGroupFAddNonUniformAMD = 5001,
-    SpvOpGroupFMinNonUniformAMD = 5002,
-    SpvOpGroupUMinNonUniformAMD = 5003,
-    SpvOpGroupSMinNonUniformAMD = 5004,
-    SpvOpGroupFMaxNonUniformAMD = 5005,
-    SpvOpGroupUMaxNonUniformAMD = 5006,
-    SpvOpGroupSMaxNonUniformAMD = 5007,
-    SpvOpFragmentMaskFetchAMD = 5011,
-    SpvOpFragmentFetchAMD = 5012,
-    SpvOpReadClockKHR = 5056,
-    SpvOpImageSampleFootprintNV = 5283,
-    SpvOpGroupNonUniformPartitionNV = 5296,
-    SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
-    SpvOpReportIntersectionKHR = 5334,
-    SpvOpReportIntersectionNV = 5334,
-    SpvOpIgnoreIntersectionKHR = 5335,
-    SpvOpIgnoreIntersectionNV = 5335,
-    SpvOpTerminateRayKHR = 5336,
-    SpvOpTerminateRayNV = 5336,
-    SpvOpTraceNV = 5337,
-    SpvOpTraceRayKHR = 5337,
-    SpvOpTypeAccelerationStructureKHR = 5341,
-    SpvOpTypeAccelerationStructureNV = 5341,
-    SpvOpExecuteCallableKHR = 5344,
-    SpvOpExecuteCallableNV = 5344,
-    SpvOpTypeCooperativeMatrixNV = 5358,
-    SpvOpCooperativeMatrixLoadNV = 5359,
-    SpvOpCooperativeMatrixStoreNV = 5360,
-    SpvOpCooperativeMatrixMulAddNV = 5361,
-    SpvOpCooperativeMatrixLengthNV = 5362,
-    SpvOpBeginInvocationInterlockEXT = 5364,
-    SpvOpEndInvocationInterlockEXT = 5365,
-    SpvOpDemoteToHelperInvocationEXT = 5380,
-    SpvOpIsHelperInvocationEXT = 5381,
-    SpvOpSubgroupShuffleINTEL = 5571,
-    SpvOpSubgroupShuffleDownINTEL = 5572,
-    SpvOpSubgroupShuffleUpINTEL = 5573,
-    SpvOpSubgroupShuffleXorINTEL = 5574,
-    SpvOpSubgroupBlockReadINTEL = 5575,
-    SpvOpSubgroupBlockWriteINTEL = 5576,
-    SpvOpSubgroupImageBlockReadINTEL = 5577,
-    SpvOpSubgroupImageBlockWriteINTEL = 5578,
-    SpvOpSubgroupImageMediaBlockReadINTEL = 5580,
-    SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,
-    SpvOpUCountLeadingZerosINTEL = 5585,
-    SpvOpUCountTrailingZerosINTEL = 5586,
-    SpvOpAbsISubINTEL = 5587,
-    SpvOpAbsUSubINTEL = 5588,
-    SpvOpIAddSatINTEL = 5589,
-    SpvOpUAddSatINTEL = 5590,
-    SpvOpIAverageINTEL = 5591,
-    SpvOpUAverageINTEL = 5592,
-    SpvOpIAverageRoundedINTEL = 5593,
-    SpvOpUAverageRoundedINTEL = 5594,
-    SpvOpISubSatINTEL = 5595,
-    SpvOpUSubSatINTEL = 5596,
-    SpvOpIMul32x16INTEL = 5597,
-    SpvOpUMul32x16INTEL = 5598,
-    SpvOpDecorateString = 5632,
-    SpvOpDecorateStringGOOGLE = 5632,
-    SpvOpMemberDecorateString = 5633,
-    SpvOpMemberDecorateStringGOOGLE = 5633,
-    SpvOpVmeImageINTEL = 5699,
-    SpvOpTypeVmeImageINTEL = 5700,
-    SpvOpTypeAvcImePayloadINTEL = 5701,
-    SpvOpTypeAvcRefPayloadINTEL = 5702,
-    SpvOpTypeAvcSicPayloadINTEL = 5703,
-    SpvOpTypeAvcMcePayloadINTEL = 5704,
-    SpvOpTypeAvcMceResultINTEL = 5705,
-    SpvOpTypeAvcImeResultINTEL = 5706,
-    SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
-    SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
-    SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
-    SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710,
-    SpvOpTypeAvcRefResultINTEL = 5711,
-    SpvOpTypeAvcSicResultINTEL = 5712,
-    SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
-    SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
-    SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
-    SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
-    SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
-    SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
-    SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
-    SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
-    SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
-    SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
-    SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
-    SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
-    SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
-    SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
-    SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
-    SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
-    SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
-    SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
-    SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
-    SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
-    SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733,
-    SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
-    SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735,
-    SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
-    SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737,
-    SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
-    SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
-    SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
-    SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
-    SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
-    SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
-    SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
-    SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
-    SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
-    SpvOpSubgroupAvcImeInitializeINTEL = 5747,
-    SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
-    SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749,
-    SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750,
-    SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
-    SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
-    SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
-    SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
-    SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
-    SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756,
-    SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
-    SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
-    SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
-    SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
-    SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
-    SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
-    SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
-    SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
-    SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765,
-    SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
-    SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
-    SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
-    SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
-    SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
-    SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
-    SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
-    SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
-    SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
-    SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
-    SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776,
-    SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
-    SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
-    SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
-    SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
-    SpvOpSubgroupAvcFmeInitializeINTEL = 5781,
-    SpvOpSubgroupAvcBmeInitializeINTEL = 5782,
-    SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
-    SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
-    SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
-    SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
-    SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
-    SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
-    SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
-    SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790,
-    SpvOpSubgroupAvcSicInitializeINTEL = 5791,
-    SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792,
-    SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
-    SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
-    SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
-    SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
-    SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
-    SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
-    SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
-    SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
-    SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
-    SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
-    SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803,
-    SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
-    SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
-    SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
-    SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
-    SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808,
-    SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
-    SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
-    SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
-    SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
-    SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
-    SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
-    SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
-    SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
-    SpvOpRayQueryGetRayTMinKHR = 6016,
-    SpvOpRayQueryGetRayFlagsKHR = 6017,
-    SpvOpRayQueryGetIntersectionTKHR = 6018,
-    SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
-    SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020,
-    SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
-    SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022,
-    SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
-    SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024,
-    SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025,
-    SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
-    SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
-    SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
-    SpvOpRayQueryGetWorldRayDirectionKHR = 6029,
-    SpvOpRayQueryGetWorldRayOriginKHR = 6030,
-    SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
-    SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
-    SpvOpMax = 0x7fffffff,
-} SpvOp;
-
-#ifdef SPV_ENABLE_UTILITY_CODE
-inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
-    *hasResult = *hasResultType = false;
-    switch (opcode) {
-    default: /* unknown opcode */ break;
-    case SpvOpNop: *hasResult = false; *hasResultType = false; break;
-    case SpvOpUndef: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSourceContinued: *hasResult = false; *hasResultType = false; break;
-    case SpvOpSource: *hasResult = false; *hasResultType = false; break;
-    case SpvOpSourceExtension: *hasResult = false; *hasResultType = false; break;
-    case SpvOpName: *hasResult = false; *hasResultType = false; break;
-    case SpvOpMemberName: *hasResult = false; *hasResultType = false; break;
-    case SpvOpString: *hasResult = true; *hasResultType = false; break;
-    case SpvOpLine: *hasResult = false; *hasResultType = false; break;
-    case SpvOpExtension: *hasResult = false; *hasResultType = false; break;
-    case SpvOpExtInstImport: *hasResult = true; *hasResultType = false; break;
-    case SpvOpExtInst: *hasResult = true; *hasResultType = true; break;
-    case SpvOpMemoryModel: *hasResult = false; *hasResultType = false; break;
-    case SpvOpEntryPoint: *hasResult = false; *hasResultType = false; break;
-    case SpvOpExecutionMode: *hasResult = false; *hasResultType = false; break;
-    case SpvOpCapability: *hasResult = false; *hasResultType = false; break;
-    case SpvOpTypeVoid: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeBool: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeInt: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeFloat: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeVector: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeMatrix: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeImage: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeSampler: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeArray: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeStruct: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeOpaque: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypePointer: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeFunction: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeEvent: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeReserveId: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeQueue: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypePipe: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
-    case SpvOpConstantTrue: *hasResult = true; *hasResultType = true; break;
-    case SpvOpConstantFalse: *hasResult = true; *hasResultType = true; break;
-    case SpvOpConstant: *hasResult = true; *hasResultType = true; break;
-    case SpvOpConstantComposite: *hasResult = true; *hasResultType = true; break;
-    case SpvOpConstantSampler: *hasResult = true; *hasResultType = true; break;
-    case SpvOpConstantNull: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSpecConstant: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFunction: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFunctionParameter: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFunctionEnd: *hasResult = false; *hasResultType = false; break;
-    case SpvOpFunctionCall: *hasResult = true; *hasResultType = true; break;
-    case SpvOpVariable: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
-    case SpvOpLoad: *hasResult = true; *hasResultType = true; break;
-    case SpvOpStore: *hasResult = false; *hasResultType = false; break;
-    case SpvOpCopyMemory: *hasResult = false; *hasResultType = false; break;
-    case SpvOpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
-    case SpvOpAccessChain: *hasResult = true; *hasResultType = true; break;
-    case SpvOpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
-    case SpvOpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
-    case SpvOpArrayLength: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
-    case SpvOpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
-    case SpvOpDecorate: *hasResult = false; *hasResultType = false; break;
-    case SpvOpMemberDecorate: *hasResult = false; *hasResultType = false; break;
-    case SpvOpDecorationGroup: *hasResult = true; *hasResultType = false; break;
-    case SpvOpGroupDecorate: *hasResult = false; *hasResultType = false; break;
-    case SpvOpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
-    case SpvOpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
-    case SpvOpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
-    case SpvOpVectorShuffle: *hasResult = true; *hasResultType = true; break;
-    case SpvOpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
-    case SpvOpCompositeExtract: *hasResult = true; *hasResultType = true; break;
-    case SpvOpCompositeInsert: *hasResult = true; *hasResultType = true; break;
-    case SpvOpCopyObject: *hasResult = true; *hasResultType = true; break;
-    case SpvOpTranspose: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSampledImage: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageFetch: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageGather: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageDrefGather: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageRead: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageWrite: *hasResult = false; *hasResultType = false; break;
-    case SpvOpImage: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageQuerySize: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageQueryLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
-    case SpvOpConvertFToU: *hasResult = true; *hasResultType = true; break;
-    case SpvOpConvertFToS: *hasResult = true; *hasResultType = true; break;
-    case SpvOpConvertSToF: *hasResult = true; *hasResultType = true; break;
-    case SpvOpConvertUToF: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUConvert: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSConvert: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFConvert: *hasResult = true; *hasResultType = true; break;
-    case SpvOpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
-    case SpvOpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
-    case SpvOpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
-    case SpvOpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
-    case SpvOpBitcast: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSNegate: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFNegate: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIAdd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFAdd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpISub: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFSub: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIMul: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFMul: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUDiv: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSDiv: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFDiv: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUMod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSRem: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSMod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFRem: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFMod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
-    case SpvOpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
-    case SpvOpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
-    case SpvOpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
-    case SpvOpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
-    case SpvOpOuterProduct: *hasResult = true; *hasResultType = true; break;
-    case SpvOpDot: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIAddCarry: *hasResult = true; *hasResultType = true; break;
-    case SpvOpISubBorrow: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUMulExtended: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSMulExtended: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAny: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAll: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIsNan: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIsInf: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIsFinite: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIsNormal: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSignBitSet: *hasResult = true; *hasResultType = true; break;
-    case SpvOpLessOrGreater: *hasResult = true; *hasResultType = true; break;
-    case SpvOpOrdered: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUnordered: *hasResult = true; *hasResultType = true; break;
-    case SpvOpLogicalEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpLogicalOr: *hasResult = true; *hasResultType = true; break;
-    case SpvOpLogicalAnd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpLogicalNot: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSelect: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpINotEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpULessThan: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSLessThan: *hasResult = true; *hasResultType = true; break;
-    case SpvOpULessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFOrdEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFUnordEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
-    case SpvOpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
-    case SpvOpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
-    case SpvOpBitwiseOr: *hasResult = true; *hasResultType = true; break;
-    case SpvOpBitwiseXor: *hasResult = true; *hasResultType = true; break;
-    case SpvOpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpNot: *hasResult = true; *hasResultType = true; break;
-    case SpvOpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
-    case SpvOpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
-    case SpvOpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
-    case SpvOpBitReverse: *hasResult = true; *hasResultType = true; break;
-    case SpvOpBitCount: *hasResult = true; *hasResultType = true; break;
-    case SpvOpDPdx: *hasResult = true; *hasResultType = true; break;
-    case SpvOpDPdy: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFwidth: *hasResult = true; *hasResultType = true; break;
-    case SpvOpDPdxFine: *hasResult = true; *hasResultType = true; break;
-    case SpvOpDPdyFine: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFwidthFine: *hasResult = true; *hasResultType = true; break;
-    case SpvOpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
-    case SpvOpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
-    case SpvOpEmitVertex: *hasResult = false; *hasResultType = false; break;
-    case SpvOpEndPrimitive: *hasResult = false; *hasResultType = false; break;
-    case SpvOpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
-    case SpvOpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
-    case SpvOpControlBarrier: *hasResult = false; *hasResultType = false; break;
-    case SpvOpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
-    case SpvOpAtomicLoad: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicStore: *hasResult = false; *hasResultType = false; break;
-    case SpvOpAtomicExchange: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicISub: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicSMin: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicUMin: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicSMax: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicUMax: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicAnd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicOr: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicXor: *hasResult = true; *hasResultType = true; break;
-    case SpvOpPhi: *hasResult = true; *hasResultType = true; break;
-    case SpvOpLoopMerge: *hasResult = false; *hasResultType = false; break;
-    case SpvOpSelectionMerge: *hasResult = false; *hasResultType = false; break;
-    case SpvOpLabel: *hasResult = true; *hasResultType = false; break;
-    case SpvOpBranch: *hasResult = false; *hasResultType = false; break;
-    case SpvOpBranchConditional: *hasResult = false; *hasResultType = false; break;
-    case SpvOpSwitch: *hasResult = false; *hasResultType = false; break;
-    case SpvOpKill: *hasResult = false; *hasResultType = false; break;
-    case SpvOpReturn: *hasResult = false; *hasResultType = false; break;
-    case SpvOpReturnValue: *hasResult = false; *hasResultType = false; break;
-    case SpvOpUnreachable: *hasResult = false; *hasResultType = false; break;
-    case SpvOpLifetimeStart: *hasResult = false; *hasResultType = false; break;
-    case SpvOpLifetimeStop: *hasResult = false; *hasResultType = false; break;
-    case SpvOpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
-    case SpvOpGroupAll: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupAny: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupIAdd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupFAdd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupFMin: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupUMin: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupSMin: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupFMax: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupUMax: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupSMax: *hasResult = true; *hasResultType = true; break;
-    case SpvOpReadPipe: *hasResult = true; *hasResultType = true; break;
-    case SpvOpWritePipe: *hasResult = true; *hasResultType = true; break;
-    case SpvOpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
-    case SpvOpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
-    case SpvOpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
-    case SpvOpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
-    case SpvOpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
-    case SpvOpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
-    case SpvOpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
-    case SpvOpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
-    case SpvOpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
-    case SpvOpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRetainEvent: *hasResult = false; *hasResultType = false; break;
-    case SpvOpReleaseEvent: *hasResult = false; *hasResultType = false; break;
-    case SpvOpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIsValidEvent: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
-    case SpvOpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
-    case SpvOpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
-    case SpvOpBuildNDRange: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseGather: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
-    case SpvOpNoLine: *hasResult = false; *hasResultType = false; break;
-    case SpvOpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
-    case SpvOpImageSparseRead: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSizeOf: *hasResult = true; *hasResultType = true; break;
-    case SpvOpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
-    case SpvOpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
-    case SpvOpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
-    case SpvOpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
-    case SpvOpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
-    case SpvOpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
-    case SpvOpModuleProcessed: *hasResult = false; *hasResultType = false; break;
-    case SpvOpExecutionModeId: *hasResult = false; *hasResultType = false; break;
-    case SpvOpDecorateId: *hasResult = false; *hasResultType = false; break;
-    case SpvOpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
-    case SpvOpCopyLogical: *hasResult = true; *hasResultType = true; break;
-    case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
-    case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
-    case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
-    case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
-    case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
-    case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
-    case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
-    case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
-    case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
-    case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
-    case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
-    case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
-    case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
-    case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
-    case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
-    case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
-    case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
-    case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
-    case SpvOpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
-    case SpvOpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
-    case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
-    case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
-    case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
-    case SpvOpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
-    case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
-    case SpvOpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
-    case SpvOpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
-    case SpvOpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
-    case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
-    case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
-    case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
-    }
-}
-#endif /* SPV_ENABLE_UTILITY_CODE */
-
-#endif
-
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
deleted file mode 100644
index dae36cf..0000000
--- a/include/spirv/unified1/spirv.hpp
+++ /dev/null
@@ -1,2114 +0,0 @@
-// Copyright (c) 2014-2020 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"),
-// to deal in the Materials without restriction, including without limitation
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-// and/or sell copies of the Materials, and to permit persons to whom the
-// Materials are furnished to do so, subject to the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Materials.
-// 
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
-// 
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
-// IN THE MATERIALS.
-
-// This header is automatically generated by the same tool that creates
-// the Binary Section of the SPIR-V specification.
-
-// Enumeration tokens for SPIR-V, in various styles:
-//   C, C++, C++11, JSON, Lua, Python, C#, D
-// 
-// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-// - C# will use enum classes in the Specification class located in the "Spv" namespace,
-//     e.g.: Spv.Specification.SourceLanguage.GLSL
-// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
-// 
-// Some tokens act like mask values, which can be OR'd together,
-// while others are mutually exclusive.  The mask-like ones have
-// "Mask" in their name, and a parallel enum that has the shift
-// amount (1 << x) for each corresponding enumerant.
-
-#ifndef spirv_HPP
-#define spirv_HPP
-
-namespace spv {
-
-typedef unsigned int Id;
-
-#define SPV_VERSION 0x10500
-#define SPV_REVISION 3
-
-static const unsigned int MagicNumber = 0x07230203;
-static const unsigned int Version = 0x00010500;
-static const unsigned int Revision = 3;
-static const unsigned int OpCodeMask = 0xffff;
-static const unsigned int WordCountShift = 16;
-
-enum SourceLanguage {
-    SourceLanguageUnknown = 0,
-    SourceLanguageESSL = 1,
-    SourceLanguageGLSL = 2,
-    SourceLanguageOpenCL_C = 3,
-    SourceLanguageOpenCL_CPP = 4,
-    SourceLanguageHLSL = 5,
-    SourceLanguageMax = 0x7fffffff,
-};
-
-enum ExecutionModel {
-    ExecutionModelVertex = 0,
-    ExecutionModelTessellationControl = 1,
-    ExecutionModelTessellationEvaluation = 2,
-    ExecutionModelGeometry = 3,
-    ExecutionModelFragment = 4,
-    ExecutionModelGLCompute = 5,
-    ExecutionModelKernel = 6,
-    ExecutionModelTaskNV = 5267,
-    ExecutionModelMeshNV = 5268,
-    ExecutionModelRayGenerationKHR = 5313,
-    ExecutionModelRayGenerationNV = 5313,
-    ExecutionModelIntersectionKHR = 5314,
-    ExecutionModelIntersectionNV = 5314,
-    ExecutionModelAnyHitKHR = 5315,
-    ExecutionModelAnyHitNV = 5315,
-    ExecutionModelClosestHitKHR = 5316,
-    ExecutionModelClosestHitNV = 5316,
-    ExecutionModelMissKHR = 5317,
-    ExecutionModelMissNV = 5317,
-    ExecutionModelCallableKHR = 5318,
-    ExecutionModelCallableNV = 5318,
-    ExecutionModelMax = 0x7fffffff,
-};
-
-enum AddressingModel {
-    AddressingModelLogical = 0,
-    AddressingModelPhysical32 = 1,
-    AddressingModelPhysical64 = 2,
-    AddressingModelPhysicalStorageBuffer64 = 5348,
-    AddressingModelPhysicalStorageBuffer64EXT = 5348,
-    AddressingModelMax = 0x7fffffff,
-};
-
-enum MemoryModel {
-    MemoryModelSimple = 0,
-    MemoryModelGLSL450 = 1,
-    MemoryModelOpenCL = 2,
-    MemoryModelVulkan = 3,
-    MemoryModelVulkanKHR = 3,
-    MemoryModelMax = 0x7fffffff,
-};
-
-enum ExecutionMode {
-    ExecutionModeInvocations = 0,
-    ExecutionModeSpacingEqual = 1,
-    ExecutionModeSpacingFractionalEven = 2,
-    ExecutionModeSpacingFractionalOdd = 3,
-    ExecutionModeVertexOrderCw = 4,
-    ExecutionModeVertexOrderCcw = 5,
-    ExecutionModePixelCenterInteger = 6,
-    ExecutionModeOriginUpperLeft = 7,
-    ExecutionModeOriginLowerLeft = 8,
-    ExecutionModeEarlyFragmentTests = 9,
-    ExecutionModePointMode = 10,
-    ExecutionModeXfb = 11,
-    ExecutionModeDepthReplacing = 12,
-    ExecutionModeDepthGreater = 14,
-    ExecutionModeDepthLess = 15,
-    ExecutionModeDepthUnchanged = 16,
-    ExecutionModeLocalSize = 17,
-    ExecutionModeLocalSizeHint = 18,
-    ExecutionModeInputPoints = 19,
-    ExecutionModeInputLines = 20,
-    ExecutionModeInputLinesAdjacency = 21,
-    ExecutionModeTriangles = 22,
-    ExecutionModeInputTrianglesAdjacency = 23,
-    ExecutionModeQuads = 24,
-    ExecutionModeIsolines = 25,
-    ExecutionModeOutputVertices = 26,
-    ExecutionModeOutputPoints = 27,
-    ExecutionModeOutputLineStrip = 28,
-    ExecutionModeOutputTriangleStrip = 29,
-    ExecutionModeVecTypeHint = 30,
-    ExecutionModeContractionOff = 31,
-    ExecutionModeInitializer = 33,
-    ExecutionModeFinalizer = 34,
-    ExecutionModeSubgroupSize = 35,
-    ExecutionModeSubgroupsPerWorkgroup = 36,
-    ExecutionModeSubgroupsPerWorkgroupId = 37,
-    ExecutionModeLocalSizeId = 38,
-    ExecutionModeLocalSizeHintId = 39,
-    ExecutionModePostDepthCoverage = 4446,
-    ExecutionModeDenormPreserve = 4459,
-    ExecutionModeDenormFlushToZero = 4460,
-    ExecutionModeSignedZeroInfNanPreserve = 4461,
-    ExecutionModeRoundingModeRTE = 4462,
-    ExecutionModeRoundingModeRTZ = 4463,
-    ExecutionModeStencilRefReplacingEXT = 5027,
-    ExecutionModeOutputLinesNV = 5269,
-    ExecutionModeOutputPrimitivesNV = 5270,
-    ExecutionModeDerivativeGroupQuadsNV = 5289,
-    ExecutionModeDerivativeGroupLinearNV = 5290,
-    ExecutionModeOutputTrianglesNV = 5298,
-    ExecutionModePixelInterlockOrderedEXT = 5366,
-    ExecutionModePixelInterlockUnorderedEXT = 5367,
-    ExecutionModeSampleInterlockOrderedEXT = 5368,
-    ExecutionModeSampleInterlockUnorderedEXT = 5369,
-    ExecutionModeShadingRateInterlockOrderedEXT = 5370,
-    ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
-    ExecutionModeMax = 0x7fffffff,
-};
-
-enum StorageClass {
-    StorageClassUniformConstant = 0,
-    StorageClassInput = 1,
-    StorageClassUniform = 2,
-    StorageClassOutput = 3,
-    StorageClassWorkgroup = 4,
-    StorageClassCrossWorkgroup = 5,
-    StorageClassPrivate = 6,
-    StorageClassFunction = 7,
-    StorageClassGeneric = 8,
-    StorageClassPushConstant = 9,
-    StorageClassAtomicCounter = 10,
-    StorageClassImage = 11,
-    StorageClassStorageBuffer = 12,
-    StorageClassCallableDataKHR = 5328,
-    StorageClassCallableDataNV = 5328,
-    StorageClassIncomingCallableDataKHR = 5329,
-    StorageClassIncomingCallableDataNV = 5329,
-    StorageClassRayPayloadKHR = 5338,
-    StorageClassRayPayloadNV = 5338,
-    StorageClassHitAttributeKHR = 5339,
-    StorageClassHitAttributeNV = 5339,
-    StorageClassIncomingRayPayloadKHR = 5342,
-    StorageClassIncomingRayPayloadNV = 5342,
-    StorageClassShaderRecordBufferKHR = 5343,
-    StorageClassShaderRecordBufferNV = 5343,
-    StorageClassPhysicalStorageBuffer = 5349,
-    StorageClassPhysicalStorageBufferEXT = 5349,
-    StorageClassMax = 0x7fffffff,
-};
-
-enum Dim {
-    Dim1D = 0,
-    Dim2D = 1,
-    Dim3D = 2,
-    DimCube = 3,
-    DimRect = 4,
-    DimBuffer = 5,
-    DimSubpassData = 6,
-    DimMax = 0x7fffffff,
-};
-
-enum SamplerAddressingMode {
-    SamplerAddressingModeNone = 0,
-    SamplerAddressingModeClampToEdge = 1,
-    SamplerAddressingModeClamp = 2,
-    SamplerAddressingModeRepeat = 3,
-    SamplerAddressingModeRepeatMirrored = 4,
-    SamplerAddressingModeMax = 0x7fffffff,
-};
-
-enum SamplerFilterMode {
-    SamplerFilterModeNearest = 0,
-    SamplerFilterModeLinear = 1,
-    SamplerFilterModeMax = 0x7fffffff,
-};
-
-enum ImageFormat {
-    ImageFormatUnknown = 0,
-    ImageFormatRgba32f = 1,
-    ImageFormatRgba16f = 2,
-    ImageFormatR32f = 3,
-    ImageFormatRgba8 = 4,
-    ImageFormatRgba8Snorm = 5,
-    ImageFormatRg32f = 6,
-    ImageFormatRg16f = 7,
-    ImageFormatR11fG11fB10f = 8,
-    ImageFormatR16f = 9,
-    ImageFormatRgba16 = 10,
-    ImageFormatRgb10A2 = 11,
-    ImageFormatRg16 = 12,
-    ImageFormatRg8 = 13,
-    ImageFormatR16 = 14,
-    ImageFormatR8 = 15,
-    ImageFormatRgba16Snorm = 16,
-    ImageFormatRg16Snorm = 17,
-    ImageFormatRg8Snorm = 18,
-    ImageFormatR16Snorm = 19,
-    ImageFormatR8Snorm = 20,
-    ImageFormatRgba32i = 21,
-    ImageFormatRgba16i = 22,
-    ImageFormatRgba8i = 23,
-    ImageFormatR32i = 24,
-    ImageFormatRg32i = 25,
-    ImageFormatRg16i = 26,
-    ImageFormatRg8i = 27,
-    ImageFormatR16i = 28,
-    ImageFormatR8i = 29,
-    ImageFormatRgba32ui = 30,
-    ImageFormatRgba16ui = 31,
-    ImageFormatRgba8ui = 32,
-    ImageFormatR32ui = 33,
-    ImageFormatRgb10a2ui = 34,
-    ImageFormatRg32ui = 35,
-    ImageFormatRg16ui = 36,
-    ImageFormatRg8ui = 37,
-    ImageFormatR16ui = 38,
-    ImageFormatR8ui = 39,
-    ImageFormatMax = 0x7fffffff,
-};
-
-enum ImageChannelOrder {
-    ImageChannelOrderR = 0,
-    ImageChannelOrderA = 1,
-    ImageChannelOrderRG = 2,
-    ImageChannelOrderRA = 3,
-    ImageChannelOrderRGB = 4,
-    ImageChannelOrderRGBA = 5,
-    ImageChannelOrderBGRA = 6,
-    ImageChannelOrderARGB = 7,
-    ImageChannelOrderIntensity = 8,
-    ImageChannelOrderLuminance = 9,
-    ImageChannelOrderRx = 10,
-    ImageChannelOrderRGx = 11,
-    ImageChannelOrderRGBx = 12,
-    ImageChannelOrderDepth = 13,
-    ImageChannelOrderDepthStencil = 14,
-    ImageChannelOrdersRGB = 15,
-    ImageChannelOrdersRGBx = 16,
-    ImageChannelOrdersRGBA = 17,
-    ImageChannelOrdersBGRA = 18,
-    ImageChannelOrderABGR = 19,
-    ImageChannelOrderMax = 0x7fffffff,
-};
-
-enum ImageChannelDataType {
-    ImageChannelDataTypeSnormInt8 = 0,
-    ImageChannelDataTypeSnormInt16 = 1,
-    ImageChannelDataTypeUnormInt8 = 2,
-    ImageChannelDataTypeUnormInt16 = 3,
-    ImageChannelDataTypeUnormShort565 = 4,
-    ImageChannelDataTypeUnormShort555 = 5,
-    ImageChannelDataTypeUnormInt101010 = 6,
-    ImageChannelDataTypeSignedInt8 = 7,
-    ImageChannelDataTypeSignedInt16 = 8,
-    ImageChannelDataTypeSignedInt32 = 9,
-    ImageChannelDataTypeUnsignedInt8 = 10,
-    ImageChannelDataTypeUnsignedInt16 = 11,
-    ImageChannelDataTypeUnsignedInt32 = 12,
-    ImageChannelDataTypeHalfFloat = 13,
-    ImageChannelDataTypeFloat = 14,
-    ImageChannelDataTypeUnormInt24 = 15,
-    ImageChannelDataTypeUnormInt101010_2 = 16,
-    ImageChannelDataTypeMax = 0x7fffffff,
-};
-
-enum ImageOperandsShift {
-    ImageOperandsBiasShift = 0,
-    ImageOperandsLodShift = 1,
-    ImageOperandsGradShift = 2,
-    ImageOperandsConstOffsetShift = 3,
-    ImageOperandsOffsetShift = 4,
-    ImageOperandsConstOffsetsShift = 5,
-    ImageOperandsSampleShift = 6,
-    ImageOperandsMinLodShift = 7,
-    ImageOperandsMakeTexelAvailableShift = 8,
-    ImageOperandsMakeTexelAvailableKHRShift = 8,
-    ImageOperandsMakeTexelVisibleShift = 9,
-    ImageOperandsMakeTexelVisibleKHRShift = 9,
-    ImageOperandsNonPrivateTexelShift = 10,
-    ImageOperandsNonPrivateTexelKHRShift = 10,
-    ImageOperandsVolatileTexelShift = 11,
-    ImageOperandsVolatileTexelKHRShift = 11,
-    ImageOperandsSignExtendShift = 12,
-    ImageOperandsZeroExtendShift = 13,
-    ImageOperandsMax = 0x7fffffff,
-};
-
-enum ImageOperandsMask {
-    ImageOperandsMaskNone = 0,
-    ImageOperandsBiasMask = 0x00000001,
-    ImageOperandsLodMask = 0x00000002,
-    ImageOperandsGradMask = 0x00000004,
-    ImageOperandsConstOffsetMask = 0x00000008,
-    ImageOperandsOffsetMask = 0x00000010,
-    ImageOperandsConstOffsetsMask = 0x00000020,
-    ImageOperandsSampleMask = 0x00000040,
-    ImageOperandsMinLodMask = 0x00000080,
-    ImageOperandsMakeTexelAvailableMask = 0x00000100,
-    ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
-    ImageOperandsMakeTexelVisibleMask = 0x00000200,
-    ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
-    ImageOperandsNonPrivateTexelMask = 0x00000400,
-    ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
-    ImageOperandsVolatileTexelMask = 0x00000800,
-    ImageOperandsVolatileTexelKHRMask = 0x00000800,
-    ImageOperandsSignExtendMask = 0x00001000,
-    ImageOperandsZeroExtendMask = 0x00002000,
-};
-
-enum FPFastMathModeShift {
-    FPFastMathModeNotNaNShift = 0,
-    FPFastMathModeNotInfShift = 1,
-    FPFastMathModeNSZShift = 2,
-    FPFastMathModeAllowRecipShift = 3,
-    FPFastMathModeFastShift = 4,
-    FPFastMathModeMax = 0x7fffffff,
-};
-
-enum FPFastMathModeMask {
-    FPFastMathModeMaskNone = 0,
-    FPFastMathModeNotNaNMask = 0x00000001,
-    FPFastMathModeNotInfMask = 0x00000002,
-    FPFastMathModeNSZMask = 0x00000004,
-    FPFastMathModeAllowRecipMask = 0x00000008,
-    FPFastMathModeFastMask = 0x00000010,
-};
-
-enum FPRoundingMode {
-    FPRoundingModeRTE = 0,
-    FPRoundingModeRTZ = 1,
-    FPRoundingModeRTP = 2,
-    FPRoundingModeRTN = 3,
-    FPRoundingModeMax = 0x7fffffff,
-};
-
-enum LinkageType {
-    LinkageTypeExport = 0,
-    LinkageTypeImport = 1,
-    LinkageTypeMax = 0x7fffffff,
-};
-
-enum AccessQualifier {
-    AccessQualifierReadOnly = 0,
-    AccessQualifierWriteOnly = 1,
-    AccessQualifierReadWrite = 2,
-    AccessQualifierMax = 0x7fffffff,
-};
-
-enum FunctionParameterAttribute {
-    FunctionParameterAttributeZext = 0,
-    FunctionParameterAttributeSext = 1,
-    FunctionParameterAttributeByVal = 2,
-    FunctionParameterAttributeSret = 3,
-    FunctionParameterAttributeNoAlias = 4,
-    FunctionParameterAttributeNoCapture = 5,
-    FunctionParameterAttributeNoWrite = 6,
-    FunctionParameterAttributeNoReadWrite = 7,
-    FunctionParameterAttributeMax = 0x7fffffff,
-};
-
-enum Decoration {
-    DecorationRelaxedPrecision = 0,
-    DecorationSpecId = 1,
-    DecorationBlock = 2,
-    DecorationBufferBlock = 3,
-    DecorationRowMajor = 4,
-    DecorationColMajor = 5,
-    DecorationArrayStride = 6,
-    DecorationMatrixStride = 7,
-    DecorationGLSLShared = 8,
-    DecorationGLSLPacked = 9,
-    DecorationCPacked = 10,
-    DecorationBuiltIn = 11,
-    DecorationNoPerspective = 13,
-    DecorationFlat = 14,
-    DecorationPatch = 15,
-    DecorationCentroid = 16,
-    DecorationSample = 17,
-    DecorationInvariant = 18,
-    DecorationRestrict = 19,
-    DecorationAliased = 20,
-    DecorationVolatile = 21,
-    DecorationConstant = 22,
-    DecorationCoherent = 23,
-    DecorationNonWritable = 24,
-    DecorationNonReadable = 25,
-    DecorationUniform = 26,
-    DecorationUniformId = 27,
-    DecorationSaturatedConversion = 28,
-    DecorationStream = 29,
-    DecorationLocation = 30,
-    DecorationComponent = 31,
-    DecorationIndex = 32,
-    DecorationBinding = 33,
-    DecorationDescriptorSet = 34,
-    DecorationOffset = 35,
-    DecorationXfbBuffer = 36,
-    DecorationXfbStride = 37,
-    DecorationFuncParamAttr = 38,
-    DecorationFPRoundingMode = 39,
-    DecorationFPFastMathMode = 40,
-    DecorationLinkageAttributes = 41,
-    DecorationNoContraction = 42,
-    DecorationInputAttachmentIndex = 43,
-    DecorationAlignment = 44,
-    DecorationMaxByteOffset = 45,
-    DecorationAlignmentId = 46,
-    DecorationMaxByteOffsetId = 47,
-    DecorationNoSignedWrap = 4469,
-    DecorationNoUnsignedWrap = 4470,
-    DecorationExplicitInterpAMD = 4999,
-    DecorationOverrideCoverageNV = 5248,
-    DecorationPassthroughNV = 5250,
-    DecorationViewportRelativeNV = 5252,
-    DecorationSecondaryViewportRelativeNV = 5256,
-    DecorationPerPrimitiveNV = 5271,
-    DecorationPerViewNV = 5272,
-    DecorationPerTaskNV = 5273,
-    DecorationPerVertexNV = 5285,
-    DecorationNonUniform = 5300,
-    DecorationNonUniformEXT = 5300,
-    DecorationRestrictPointer = 5355,
-    DecorationRestrictPointerEXT = 5355,
-    DecorationAliasedPointer = 5356,
-    DecorationAliasedPointerEXT = 5356,
-    DecorationCounterBuffer = 5634,
-    DecorationHlslCounterBufferGOOGLE = 5634,
-    DecorationHlslSemanticGOOGLE = 5635,
-    DecorationUserSemantic = 5635,
-    DecorationUserTypeGOOGLE = 5636,
-    DecorationMax = 0x7fffffff,
-};
-
-enum BuiltIn {
-    BuiltInPosition = 0,
-    BuiltInPointSize = 1,
-    BuiltInClipDistance = 3,
-    BuiltInCullDistance = 4,
-    BuiltInVertexId = 5,
-    BuiltInInstanceId = 6,
-    BuiltInPrimitiveId = 7,
-    BuiltInInvocationId = 8,
-    BuiltInLayer = 9,
-    BuiltInViewportIndex = 10,
-    BuiltInTessLevelOuter = 11,
-    BuiltInTessLevelInner = 12,
-    BuiltInTessCoord = 13,
-    BuiltInPatchVertices = 14,
-    BuiltInFragCoord = 15,
-    BuiltInPointCoord = 16,
-    BuiltInFrontFacing = 17,
-    BuiltInSampleId = 18,
-    BuiltInSamplePosition = 19,
-    BuiltInSampleMask = 20,
-    BuiltInFragDepth = 22,
-    BuiltInHelperInvocation = 23,
-    BuiltInNumWorkgroups = 24,
-    BuiltInWorkgroupSize = 25,
-    BuiltInWorkgroupId = 26,
-    BuiltInLocalInvocationId = 27,
-    BuiltInGlobalInvocationId = 28,
-    BuiltInLocalInvocationIndex = 29,
-    BuiltInWorkDim = 30,
-    BuiltInGlobalSize = 31,
-    BuiltInEnqueuedWorkgroupSize = 32,
-    BuiltInGlobalOffset = 33,
-    BuiltInGlobalLinearId = 34,
-    BuiltInSubgroupSize = 36,
-    BuiltInSubgroupMaxSize = 37,
-    BuiltInNumSubgroups = 38,
-    BuiltInNumEnqueuedSubgroups = 39,
-    BuiltInSubgroupId = 40,
-    BuiltInSubgroupLocalInvocationId = 41,
-    BuiltInVertexIndex = 42,
-    BuiltInInstanceIndex = 43,
-    BuiltInSubgroupEqMask = 4416,
-    BuiltInSubgroupEqMaskKHR = 4416,
-    BuiltInSubgroupGeMask = 4417,
-    BuiltInSubgroupGeMaskKHR = 4417,
-    BuiltInSubgroupGtMask = 4418,
-    BuiltInSubgroupGtMaskKHR = 4418,
-    BuiltInSubgroupLeMask = 4419,
-    BuiltInSubgroupLeMaskKHR = 4419,
-    BuiltInSubgroupLtMask = 4420,
-    BuiltInSubgroupLtMaskKHR = 4420,
-    BuiltInBaseVertex = 4424,
-    BuiltInBaseInstance = 4425,
-    BuiltInDrawIndex = 4426,
-    BuiltInDeviceIndex = 4438,
-    BuiltInViewIndex = 4440,
-    BuiltInBaryCoordNoPerspAMD = 4992,
-    BuiltInBaryCoordNoPerspCentroidAMD = 4993,
-    BuiltInBaryCoordNoPerspSampleAMD = 4994,
-    BuiltInBaryCoordSmoothAMD = 4995,
-    BuiltInBaryCoordSmoothCentroidAMD = 4996,
-    BuiltInBaryCoordSmoothSampleAMD = 4997,
-    BuiltInBaryCoordPullModelAMD = 4998,
-    BuiltInFragStencilRefEXT = 5014,
-    BuiltInViewportMaskNV = 5253,
-    BuiltInSecondaryPositionNV = 5257,
-    BuiltInSecondaryViewportMaskNV = 5258,
-    BuiltInPositionPerViewNV = 5261,
-    BuiltInViewportMaskPerViewNV = 5262,
-    BuiltInFullyCoveredEXT = 5264,
-    BuiltInTaskCountNV = 5274,
-    BuiltInPrimitiveCountNV = 5275,
-    BuiltInPrimitiveIndicesNV = 5276,
-    BuiltInClipDistancePerViewNV = 5277,
-    BuiltInCullDistancePerViewNV = 5278,
-    BuiltInLayerPerViewNV = 5279,
-    BuiltInMeshViewCountNV = 5280,
-    BuiltInMeshViewIndicesNV = 5281,
-    BuiltInBaryCoordNV = 5286,
-    BuiltInBaryCoordNoPerspNV = 5287,
-    BuiltInFragSizeEXT = 5292,
-    BuiltInFragmentSizeNV = 5292,
-    BuiltInFragInvocationCountEXT = 5293,
-    BuiltInInvocationsPerPixelNV = 5293,
-    BuiltInLaunchIdKHR = 5319,
-    BuiltInLaunchIdNV = 5319,
-    BuiltInLaunchSizeKHR = 5320,
-    BuiltInLaunchSizeNV = 5320,
-    BuiltInWorldRayOriginKHR = 5321,
-    BuiltInWorldRayOriginNV = 5321,
-    BuiltInWorldRayDirectionKHR = 5322,
-    BuiltInWorldRayDirectionNV = 5322,
-    BuiltInObjectRayOriginKHR = 5323,
-    BuiltInObjectRayOriginNV = 5323,
-    BuiltInObjectRayDirectionKHR = 5324,
-    BuiltInObjectRayDirectionNV = 5324,
-    BuiltInRayTminKHR = 5325,
-    BuiltInRayTminNV = 5325,
-    BuiltInRayTmaxKHR = 5326,
-    BuiltInRayTmaxNV = 5326,
-    BuiltInInstanceCustomIndexKHR = 5327,
-    BuiltInInstanceCustomIndexNV = 5327,
-    BuiltInObjectToWorldKHR = 5330,
-    BuiltInObjectToWorldNV = 5330,
-    BuiltInWorldToObjectKHR = 5331,
-    BuiltInWorldToObjectNV = 5331,
-    BuiltInHitTKHR = 5332,
-    BuiltInHitTNV = 5332,
-    BuiltInHitKindKHR = 5333,
-    BuiltInHitKindNV = 5333,
-    BuiltInIncomingRayFlagsKHR = 5351,
-    BuiltInIncomingRayFlagsNV = 5351,
-    BuiltInRayGeometryIndexKHR = 5352,
-    BuiltInWarpsPerSMNV = 5374,
-    BuiltInSMCountNV = 5375,
-    BuiltInWarpIDNV = 5376,
-    BuiltInSMIDNV = 5377,
-    BuiltInMax = 0x7fffffff,
-};
-
-enum SelectionControlShift {
-    SelectionControlFlattenShift = 0,
-    SelectionControlDontFlattenShift = 1,
-    SelectionControlMax = 0x7fffffff,
-};
-
-enum SelectionControlMask {
-    SelectionControlMaskNone = 0,
-    SelectionControlFlattenMask = 0x00000001,
-    SelectionControlDontFlattenMask = 0x00000002,
-};
-
-enum LoopControlShift {
-    LoopControlUnrollShift = 0,
-    LoopControlDontUnrollShift = 1,
-    LoopControlDependencyInfiniteShift = 2,
-    LoopControlDependencyLengthShift = 3,
-    LoopControlMinIterationsShift = 4,
-    LoopControlMaxIterationsShift = 5,
-    LoopControlIterationMultipleShift = 6,
-    LoopControlPeelCountShift = 7,
-    LoopControlPartialCountShift = 8,
-    LoopControlMax = 0x7fffffff,
-};
-
-enum LoopControlMask {
-    LoopControlMaskNone = 0,
-    LoopControlUnrollMask = 0x00000001,
-    LoopControlDontUnrollMask = 0x00000002,
-    LoopControlDependencyInfiniteMask = 0x00000004,
-    LoopControlDependencyLengthMask = 0x00000008,
-    LoopControlMinIterationsMask = 0x00000010,
-    LoopControlMaxIterationsMask = 0x00000020,
-    LoopControlIterationMultipleMask = 0x00000040,
-    LoopControlPeelCountMask = 0x00000080,
-    LoopControlPartialCountMask = 0x00000100,
-};
-
-enum FunctionControlShift {
-    FunctionControlInlineShift = 0,
-    FunctionControlDontInlineShift = 1,
-    FunctionControlPureShift = 2,
-    FunctionControlConstShift = 3,
-    FunctionControlMax = 0x7fffffff,
-};
-
-enum FunctionControlMask {
-    FunctionControlMaskNone = 0,
-    FunctionControlInlineMask = 0x00000001,
-    FunctionControlDontInlineMask = 0x00000002,
-    FunctionControlPureMask = 0x00000004,
-    FunctionControlConstMask = 0x00000008,
-};
-
-enum MemorySemanticsShift {
-    MemorySemanticsAcquireShift = 1,
-    MemorySemanticsReleaseShift = 2,
-    MemorySemanticsAcquireReleaseShift = 3,
-    MemorySemanticsSequentiallyConsistentShift = 4,
-    MemorySemanticsUniformMemoryShift = 6,
-    MemorySemanticsSubgroupMemoryShift = 7,
-    MemorySemanticsWorkgroupMemoryShift = 8,
-    MemorySemanticsCrossWorkgroupMemoryShift = 9,
-    MemorySemanticsAtomicCounterMemoryShift = 10,
-    MemorySemanticsImageMemoryShift = 11,
-    MemorySemanticsOutputMemoryShift = 12,
-    MemorySemanticsOutputMemoryKHRShift = 12,
-    MemorySemanticsMakeAvailableShift = 13,
-    MemorySemanticsMakeAvailableKHRShift = 13,
-    MemorySemanticsMakeVisibleShift = 14,
-    MemorySemanticsMakeVisibleKHRShift = 14,
-    MemorySemanticsVolatileShift = 15,
-    MemorySemanticsMax = 0x7fffffff,
-};
-
-enum MemorySemanticsMask {
-    MemorySemanticsMaskNone = 0,
-    MemorySemanticsAcquireMask = 0x00000002,
-    MemorySemanticsReleaseMask = 0x00000004,
-    MemorySemanticsAcquireReleaseMask = 0x00000008,
-    MemorySemanticsSequentiallyConsistentMask = 0x00000010,
-    MemorySemanticsUniformMemoryMask = 0x00000040,
-    MemorySemanticsSubgroupMemoryMask = 0x00000080,
-    MemorySemanticsWorkgroupMemoryMask = 0x00000100,
-    MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
-    MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
-    MemorySemanticsImageMemoryMask = 0x00000800,
-    MemorySemanticsOutputMemoryMask = 0x00001000,
-    MemorySemanticsOutputMemoryKHRMask = 0x00001000,
-    MemorySemanticsMakeAvailableMask = 0x00002000,
-    MemorySemanticsMakeAvailableKHRMask = 0x00002000,
-    MemorySemanticsMakeVisibleMask = 0x00004000,
-    MemorySemanticsMakeVisibleKHRMask = 0x00004000,
-    MemorySemanticsVolatileMask = 0x00008000,
-};
-
-enum MemoryAccessShift {
-    MemoryAccessVolatileShift = 0,
-    MemoryAccessAlignedShift = 1,
-    MemoryAccessNontemporalShift = 2,
-    MemoryAccessMakePointerAvailableShift = 3,
-    MemoryAccessMakePointerAvailableKHRShift = 3,
-    MemoryAccessMakePointerVisibleShift = 4,
-    MemoryAccessMakePointerVisibleKHRShift = 4,
-    MemoryAccessNonPrivatePointerShift = 5,
-    MemoryAccessNonPrivatePointerKHRShift = 5,
-    MemoryAccessMax = 0x7fffffff,
-};
-
-enum MemoryAccessMask {
-    MemoryAccessMaskNone = 0,
-    MemoryAccessVolatileMask = 0x00000001,
-    MemoryAccessAlignedMask = 0x00000002,
-    MemoryAccessNontemporalMask = 0x00000004,
-    MemoryAccessMakePointerAvailableMask = 0x00000008,
-    MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
-    MemoryAccessMakePointerVisibleMask = 0x00000010,
-    MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
-    MemoryAccessNonPrivatePointerMask = 0x00000020,
-    MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
-};
-
-enum Scope {
-    ScopeCrossDevice = 0,
-    ScopeDevice = 1,
-    ScopeWorkgroup = 2,
-    ScopeSubgroup = 3,
-    ScopeInvocation = 4,
-    ScopeQueueFamily = 5,
-    ScopeQueueFamilyKHR = 5,
-    ScopeShaderCallKHR = 6,
-    ScopeMax = 0x7fffffff,
-};
-
-enum GroupOperation {
-    GroupOperationReduce = 0,
-    GroupOperationInclusiveScan = 1,
-    GroupOperationExclusiveScan = 2,
-    GroupOperationClusteredReduce = 3,
-    GroupOperationPartitionedReduceNV = 6,
-    GroupOperationPartitionedInclusiveScanNV = 7,
-    GroupOperationPartitionedExclusiveScanNV = 8,
-    GroupOperationMax = 0x7fffffff,
-};
-
-enum KernelEnqueueFlags {
-    KernelEnqueueFlagsNoWait = 0,
-    KernelEnqueueFlagsWaitKernel = 1,
-    KernelEnqueueFlagsWaitWorkGroup = 2,
-    KernelEnqueueFlagsMax = 0x7fffffff,
-};
-
-enum KernelProfilingInfoShift {
-    KernelProfilingInfoCmdExecTimeShift = 0,
-    KernelProfilingInfoMax = 0x7fffffff,
-};
-
-enum KernelProfilingInfoMask {
-    KernelProfilingInfoMaskNone = 0,
-    KernelProfilingInfoCmdExecTimeMask = 0x00000001,
-};
-
-enum Capability {
-    CapabilityMatrix = 0,
-    CapabilityShader = 1,
-    CapabilityGeometry = 2,
-    CapabilityTessellation = 3,
-    CapabilityAddresses = 4,
-    CapabilityLinkage = 5,
-    CapabilityKernel = 6,
-    CapabilityVector16 = 7,
-    CapabilityFloat16Buffer = 8,
-    CapabilityFloat16 = 9,
-    CapabilityFloat64 = 10,
-    CapabilityInt64 = 11,
-    CapabilityInt64Atomics = 12,
-    CapabilityImageBasic = 13,
-    CapabilityImageReadWrite = 14,
-    CapabilityImageMipmap = 15,
-    CapabilityPipes = 17,
-    CapabilityGroups = 18,
-    CapabilityDeviceEnqueue = 19,
-    CapabilityLiteralSampler = 20,
-    CapabilityAtomicStorage = 21,
-    CapabilityInt16 = 22,
-    CapabilityTessellationPointSize = 23,
-    CapabilityGeometryPointSize = 24,
-    CapabilityImageGatherExtended = 25,
-    CapabilityStorageImageMultisample = 27,
-    CapabilityUniformBufferArrayDynamicIndexing = 28,
-    CapabilitySampledImageArrayDynamicIndexing = 29,
-    CapabilityStorageBufferArrayDynamicIndexing = 30,
-    CapabilityStorageImageArrayDynamicIndexing = 31,
-    CapabilityClipDistance = 32,
-    CapabilityCullDistance = 33,
-    CapabilityImageCubeArray = 34,
-    CapabilitySampleRateShading = 35,
-    CapabilityImageRect = 36,
-    CapabilitySampledRect = 37,
-    CapabilityGenericPointer = 38,
-    CapabilityInt8 = 39,
-    CapabilityInputAttachment = 40,
-    CapabilitySparseResidency = 41,
-    CapabilityMinLod = 42,
-    CapabilitySampled1D = 43,
-    CapabilityImage1D = 44,
-    CapabilitySampledCubeArray = 45,
-    CapabilitySampledBuffer = 46,
-    CapabilityImageBuffer = 47,
-    CapabilityImageMSArray = 48,
-    CapabilityStorageImageExtendedFormats = 49,
-    CapabilityImageQuery = 50,
-    CapabilityDerivativeControl = 51,
-    CapabilityInterpolationFunction = 52,
-    CapabilityTransformFeedback = 53,
-    CapabilityGeometryStreams = 54,
-    CapabilityStorageImageReadWithoutFormat = 55,
-    CapabilityStorageImageWriteWithoutFormat = 56,
-    CapabilityMultiViewport = 57,
-    CapabilitySubgroupDispatch = 58,
-    CapabilityNamedBarrier = 59,
-    CapabilityPipeStorage = 60,
-    CapabilityGroupNonUniform = 61,
-    CapabilityGroupNonUniformVote = 62,
-    CapabilityGroupNonUniformArithmetic = 63,
-    CapabilityGroupNonUniformBallot = 64,
-    CapabilityGroupNonUniformShuffle = 65,
-    CapabilityGroupNonUniformShuffleRelative = 66,
-    CapabilityGroupNonUniformClustered = 67,
-    CapabilityGroupNonUniformQuad = 68,
-    CapabilityShaderLayer = 69,
-    CapabilityShaderViewportIndex = 70,
-    CapabilitySubgroupBallotKHR = 4423,
-    CapabilityDrawParameters = 4427,
-    CapabilitySubgroupVoteKHR = 4431,
-    CapabilityStorageBuffer16BitAccess = 4433,
-    CapabilityStorageUniformBufferBlock16 = 4433,
-    CapabilityStorageUniform16 = 4434,
-    CapabilityUniformAndStorageBuffer16BitAccess = 4434,
-    CapabilityStoragePushConstant16 = 4435,
-    CapabilityStorageInputOutput16 = 4436,
-    CapabilityDeviceGroup = 4437,
-    CapabilityMultiView = 4439,
-    CapabilityVariablePointersStorageBuffer = 4441,
-    CapabilityVariablePointers = 4442,
-    CapabilityAtomicStorageOps = 4445,
-    CapabilitySampleMaskPostDepthCoverage = 4447,
-    CapabilityStorageBuffer8BitAccess = 4448,
-    CapabilityUniformAndStorageBuffer8BitAccess = 4449,
-    CapabilityStoragePushConstant8 = 4450,
-    CapabilityDenormPreserve = 4464,
-    CapabilityDenormFlushToZero = 4465,
-    CapabilitySignedZeroInfNanPreserve = 4466,
-    CapabilityRoundingModeRTE = 4467,
-    CapabilityRoundingModeRTZ = 4468,
-    CapabilityRayQueryProvisionalKHR = 4471,
-    CapabilityRayTraversalPrimitiveCullingProvisionalKHR = 4478,
-    CapabilityFloat16ImageAMD = 5008,
-    CapabilityImageGatherBiasLodAMD = 5009,
-    CapabilityFragmentMaskAMD = 5010,
-    CapabilityStencilExportEXT = 5013,
-    CapabilityImageReadWriteLodAMD = 5015,
-    CapabilityShaderClockKHR = 5055,
-    CapabilitySampleMaskOverrideCoverageNV = 5249,
-    CapabilityGeometryShaderPassthroughNV = 5251,
-    CapabilityShaderViewportIndexLayerEXT = 5254,
-    CapabilityShaderViewportIndexLayerNV = 5254,
-    CapabilityShaderViewportMaskNV = 5255,
-    CapabilityShaderStereoViewNV = 5259,
-    CapabilityPerViewAttributesNV = 5260,
-    CapabilityFragmentFullyCoveredEXT = 5265,
-    CapabilityMeshShadingNV = 5266,
-    CapabilityImageFootprintNV = 5282,
-    CapabilityFragmentBarycentricNV = 5284,
-    CapabilityComputeDerivativeGroupQuadsNV = 5288,
-    CapabilityFragmentDensityEXT = 5291,
-    CapabilityShadingRateNV = 5291,
-    CapabilityGroupNonUniformPartitionedNV = 5297,
-    CapabilityShaderNonUniform = 5301,
-    CapabilityShaderNonUniformEXT = 5301,
-    CapabilityRuntimeDescriptorArray = 5302,
-    CapabilityRuntimeDescriptorArrayEXT = 5302,
-    CapabilityInputAttachmentArrayDynamicIndexing = 5303,
-    CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
-    CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
-    CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
-    CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
-    CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
-    CapabilityUniformBufferArrayNonUniformIndexing = 5306,
-    CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
-    CapabilitySampledImageArrayNonUniformIndexing = 5307,
-    CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
-    CapabilityStorageBufferArrayNonUniformIndexing = 5308,
-    CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
-    CapabilityStorageImageArrayNonUniformIndexing = 5309,
-    CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
-    CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
-    CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
-    CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
-    CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
-    CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
-    CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
-    CapabilityRayTracingNV = 5340,
-    CapabilityVulkanMemoryModel = 5345,
-    CapabilityVulkanMemoryModelKHR = 5345,
-    CapabilityVulkanMemoryModelDeviceScope = 5346,
-    CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
-    CapabilityPhysicalStorageBufferAddresses = 5347,
-    CapabilityPhysicalStorageBufferAddressesEXT = 5347,
-    CapabilityComputeDerivativeGroupLinearNV = 5350,
-    CapabilityRayTracingProvisionalKHR = 5353,
-    CapabilityCooperativeMatrixNV = 5357,
-    CapabilityFragmentShaderSampleInterlockEXT = 5363,
-    CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
-    CapabilityShaderSMBuiltinsNV = 5373,
-    CapabilityFragmentShaderPixelInterlockEXT = 5378,
-    CapabilityDemoteToHelperInvocationEXT = 5379,
-    CapabilitySubgroupShuffleINTEL = 5568,
-    CapabilitySubgroupBufferBlockIOINTEL = 5569,
-    CapabilitySubgroupImageBlockIOINTEL = 5570,
-    CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
-    CapabilityIntegerFunctions2INTEL = 5584,
-    CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
-    CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
-    CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
-    CapabilityMax = 0x7fffffff,
-};
-
-enum RayFlagsShift {
-    RayFlagsOpaqueKHRShift = 0,
-    RayFlagsNoOpaqueKHRShift = 1,
-    RayFlagsTerminateOnFirstHitKHRShift = 2,
-    RayFlagsSkipClosestHitShaderKHRShift = 3,
-    RayFlagsCullBackFacingTrianglesKHRShift = 4,
-    RayFlagsCullFrontFacingTrianglesKHRShift = 5,
-    RayFlagsCullOpaqueKHRShift = 6,
-    RayFlagsCullNoOpaqueKHRShift = 7,
-    RayFlagsSkipTrianglesKHRShift = 8,
-    RayFlagsSkipAABBsKHRShift = 9,
-    RayFlagsMax = 0x7fffffff,
-};
-
-enum RayFlagsMask {
-    RayFlagsMaskNone = 0,
-    RayFlagsOpaqueKHRMask = 0x00000001,
-    RayFlagsNoOpaqueKHRMask = 0x00000002,
-    RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
-    RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
-    RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
-    RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
-    RayFlagsCullOpaqueKHRMask = 0x00000040,
-    RayFlagsCullNoOpaqueKHRMask = 0x00000080,
-    RayFlagsSkipTrianglesKHRMask = 0x00000100,
-    RayFlagsSkipAABBsKHRMask = 0x00000200,
-};
-
-enum RayQueryIntersection {
-    RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
-    RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
-    RayQueryIntersectionMax = 0x7fffffff,
-};
-
-enum RayQueryCommittedIntersectionType {
-    RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
-    RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
-    RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
-    RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
-};
-
-enum RayQueryCandidateIntersectionType {
-    RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
-    RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
-    RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
-};
-
-enum Op {
-    OpNop = 0,
-    OpUndef = 1,
-    OpSourceContinued = 2,
-    OpSource = 3,
-    OpSourceExtension = 4,
-    OpName = 5,
-    OpMemberName = 6,
-    OpString = 7,
-    OpLine = 8,
-    OpExtension = 10,
-    OpExtInstImport = 11,
-    OpExtInst = 12,
-    OpMemoryModel = 14,
-    OpEntryPoint = 15,
-    OpExecutionMode = 16,
-    OpCapability = 17,
-    OpTypeVoid = 19,
-    OpTypeBool = 20,
-    OpTypeInt = 21,
-    OpTypeFloat = 22,
-    OpTypeVector = 23,
-    OpTypeMatrix = 24,
-    OpTypeImage = 25,
-    OpTypeSampler = 26,
-    OpTypeSampledImage = 27,
-    OpTypeArray = 28,
-    OpTypeRuntimeArray = 29,
-    OpTypeStruct = 30,
-    OpTypeOpaque = 31,
-    OpTypePointer = 32,
-    OpTypeFunction = 33,
-    OpTypeEvent = 34,
-    OpTypeDeviceEvent = 35,
-    OpTypeReserveId = 36,
-    OpTypeQueue = 37,
-    OpTypePipe = 38,
-    OpTypeForwardPointer = 39,
-    OpConstantTrue = 41,
-    OpConstantFalse = 42,
-    OpConstant = 43,
-    OpConstantComposite = 44,
-    OpConstantSampler = 45,
-    OpConstantNull = 46,
-    OpSpecConstantTrue = 48,
-    OpSpecConstantFalse = 49,
-    OpSpecConstant = 50,
-    OpSpecConstantComposite = 51,
-    OpSpecConstantOp = 52,
-    OpFunction = 54,
-    OpFunctionParameter = 55,
-    OpFunctionEnd = 56,
-    OpFunctionCall = 57,
-    OpVariable = 59,
-    OpImageTexelPointer = 60,
-    OpLoad = 61,
-    OpStore = 62,
-    OpCopyMemory = 63,
-    OpCopyMemorySized = 64,
-    OpAccessChain = 65,
-    OpInBoundsAccessChain = 66,
-    OpPtrAccessChain = 67,
-    OpArrayLength = 68,
-    OpGenericPtrMemSemantics = 69,
-    OpInBoundsPtrAccessChain = 70,
-    OpDecorate = 71,
-    OpMemberDecorate = 72,
-    OpDecorationGroup = 73,
-    OpGroupDecorate = 74,
-    OpGroupMemberDecorate = 75,
-    OpVectorExtractDynamic = 77,
-    OpVectorInsertDynamic = 78,
-    OpVectorShuffle = 79,
-    OpCompositeConstruct = 80,
-    OpCompositeExtract = 81,
-    OpCompositeInsert = 82,
-    OpCopyObject = 83,
-    OpTranspose = 84,
-    OpSampledImage = 86,
-    OpImageSampleImplicitLod = 87,
-    OpImageSampleExplicitLod = 88,
-    OpImageSampleDrefImplicitLod = 89,
-    OpImageSampleDrefExplicitLod = 90,
-    OpImageSampleProjImplicitLod = 91,
-    OpImageSampleProjExplicitLod = 92,
-    OpImageSampleProjDrefImplicitLod = 93,
-    OpImageSampleProjDrefExplicitLod = 94,
-    OpImageFetch = 95,
-    OpImageGather = 96,
-    OpImageDrefGather = 97,
-    OpImageRead = 98,
-    OpImageWrite = 99,
-    OpImage = 100,
-    OpImageQueryFormat = 101,
-    OpImageQueryOrder = 102,
-    OpImageQuerySizeLod = 103,
-    OpImageQuerySize = 104,
-    OpImageQueryLod = 105,
-    OpImageQueryLevels = 106,
-    OpImageQuerySamples = 107,
-    OpConvertFToU = 109,
-    OpConvertFToS = 110,
-    OpConvertSToF = 111,
-    OpConvertUToF = 112,
-    OpUConvert = 113,
-    OpSConvert = 114,
-    OpFConvert = 115,
-    OpQuantizeToF16 = 116,
-    OpConvertPtrToU = 117,
-    OpSatConvertSToU = 118,
-    OpSatConvertUToS = 119,
-    OpConvertUToPtr = 120,
-    OpPtrCastToGeneric = 121,
-    OpGenericCastToPtr = 122,
-    OpGenericCastToPtrExplicit = 123,
-    OpBitcast = 124,
-    OpSNegate = 126,
-    OpFNegate = 127,
-    OpIAdd = 128,
-    OpFAdd = 129,
-    OpISub = 130,
-    OpFSub = 131,
-    OpIMul = 132,
-    OpFMul = 133,
-    OpUDiv = 134,
-    OpSDiv = 135,
-    OpFDiv = 136,
-    OpUMod = 137,
-    OpSRem = 138,
-    OpSMod = 139,
-    OpFRem = 140,
-    OpFMod = 141,
-    OpVectorTimesScalar = 142,
-    OpMatrixTimesScalar = 143,
-    OpVectorTimesMatrix = 144,
-    OpMatrixTimesVector = 145,
-    OpMatrixTimesMatrix = 146,
-    OpOuterProduct = 147,
-    OpDot = 148,
-    OpIAddCarry = 149,
-    OpISubBorrow = 150,
-    OpUMulExtended = 151,
-    OpSMulExtended = 152,
-    OpAny = 154,
-    OpAll = 155,
-    OpIsNan = 156,
-    OpIsInf = 157,
-    OpIsFinite = 158,
-    OpIsNormal = 159,
-    OpSignBitSet = 160,
-    OpLessOrGreater = 161,
-    OpOrdered = 162,
-    OpUnordered = 163,
-    OpLogicalEqual = 164,
-    OpLogicalNotEqual = 165,
-    OpLogicalOr = 166,
-    OpLogicalAnd = 167,
-    OpLogicalNot = 168,
-    OpSelect = 169,
-    OpIEqual = 170,
-    OpINotEqual = 171,
-    OpUGreaterThan = 172,
-    OpSGreaterThan = 173,
-    OpUGreaterThanEqual = 174,
-    OpSGreaterThanEqual = 175,
-    OpULessThan = 176,
-    OpSLessThan = 177,
-    OpULessThanEqual = 178,
-    OpSLessThanEqual = 179,
-    OpFOrdEqual = 180,
-    OpFUnordEqual = 181,
-    OpFOrdNotEqual = 182,
-    OpFUnordNotEqual = 183,
-    OpFOrdLessThan = 184,
-    OpFUnordLessThan = 185,
-    OpFOrdGreaterThan = 186,
-    OpFUnordGreaterThan = 187,
-    OpFOrdLessThanEqual = 188,
-    OpFUnordLessThanEqual = 189,
-    OpFOrdGreaterThanEqual = 190,
-    OpFUnordGreaterThanEqual = 191,
-    OpShiftRightLogical = 194,
-    OpShiftRightArithmetic = 195,
-    OpShiftLeftLogical = 196,
-    OpBitwiseOr = 197,
-    OpBitwiseXor = 198,
-    OpBitwiseAnd = 199,
-    OpNot = 200,
-    OpBitFieldInsert = 201,
-    OpBitFieldSExtract = 202,
-    OpBitFieldUExtract = 203,
-    OpBitReverse = 204,
-    OpBitCount = 205,
-    OpDPdx = 207,
-    OpDPdy = 208,
-    OpFwidth = 209,
-    OpDPdxFine = 210,
-    OpDPdyFine = 211,
-    OpFwidthFine = 212,
-    OpDPdxCoarse = 213,
-    OpDPdyCoarse = 214,
-    OpFwidthCoarse = 215,
-    OpEmitVertex = 218,
-    OpEndPrimitive = 219,
-    OpEmitStreamVertex = 220,
-    OpEndStreamPrimitive = 221,
-    OpControlBarrier = 224,
-    OpMemoryBarrier = 225,
-    OpAtomicLoad = 227,
-    OpAtomicStore = 228,
-    OpAtomicExchange = 229,
-    OpAtomicCompareExchange = 230,
-    OpAtomicCompareExchangeWeak = 231,
-    OpAtomicIIncrement = 232,
-    OpAtomicIDecrement = 233,
-    OpAtomicIAdd = 234,
-    OpAtomicISub = 235,
-    OpAtomicSMin = 236,
-    OpAtomicUMin = 237,
-    OpAtomicSMax = 238,
-    OpAtomicUMax = 239,
-    OpAtomicAnd = 240,
-    OpAtomicOr = 241,
-    OpAtomicXor = 242,
-    OpPhi = 245,
-    OpLoopMerge = 246,
-    OpSelectionMerge = 247,
-    OpLabel = 248,
-    OpBranch = 249,
-    OpBranchConditional = 250,
-    OpSwitch = 251,
-    OpKill = 252,
-    OpReturn = 253,
-    OpReturnValue = 254,
-    OpUnreachable = 255,
-    OpLifetimeStart = 256,
-    OpLifetimeStop = 257,
-    OpGroupAsyncCopy = 259,
-    OpGroupWaitEvents = 260,
-    OpGroupAll = 261,
-    OpGroupAny = 262,
-    OpGroupBroadcast = 263,
-    OpGroupIAdd = 264,
-    OpGroupFAdd = 265,
-    OpGroupFMin = 266,
-    OpGroupUMin = 267,
-    OpGroupSMin = 268,
-    OpGroupFMax = 269,
-    OpGroupUMax = 270,
-    OpGroupSMax = 271,
-    OpReadPipe = 274,
-    OpWritePipe = 275,
-    OpReservedReadPipe = 276,
-    OpReservedWritePipe = 277,
-    OpReserveReadPipePackets = 278,
-    OpReserveWritePipePackets = 279,
-    OpCommitReadPipe = 280,
-    OpCommitWritePipe = 281,
-    OpIsValidReserveId = 282,
-    OpGetNumPipePackets = 283,
-    OpGetMaxPipePackets = 284,
-    OpGroupReserveReadPipePackets = 285,
-    OpGroupReserveWritePipePackets = 286,
-    OpGroupCommitReadPipe = 287,
-    OpGroupCommitWritePipe = 288,
-    OpEnqueueMarker = 291,
-    OpEnqueueKernel = 292,
-    OpGetKernelNDrangeSubGroupCount = 293,
-    OpGetKernelNDrangeMaxSubGroupSize = 294,
-    OpGetKernelWorkGroupSize = 295,
-    OpGetKernelPreferredWorkGroupSizeMultiple = 296,
-    OpRetainEvent = 297,
-    OpReleaseEvent = 298,
-    OpCreateUserEvent = 299,
-    OpIsValidEvent = 300,
-    OpSetUserEventStatus = 301,
-    OpCaptureEventProfilingInfo = 302,
-    OpGetDefaultQueue = 303,
-    OpBuildNDRange = 304,
-    OpImageSparseSampleImplicitLod = 305,
-    OpImageSparseSampleExplicitLod = 306,
-    OpImageSparseSampleDrefImplicitLod = 307,
-    OpImageSparseSampleDrefExplicitLod = 308,
-    OpImageSparseSampleProjImplicitLod = 309,
-    OpImageSparseSampleProjExplicitLod = 310,
-    OpImageSparseSampleProjDrefImplicitLod = 311,
-    OpImageSparseSampleProjDrefExplicitLod = 312,
-    OpImageSparseFetch = 313,
-    OpImageSparseGather = 314,
-    OpImageSparseDrefGather = 315,
-    OpImageSparseTexelsResident = 316,
-    OpNoLine = 317,
-    OpAtomicFlagTestAndSet = 318,
-    OpAtomicFlagClear = 319,
-    OpImageSparseRead = 320,
-    OpSizeOf = 321,
-    OpTypePipeStorage = 322,
-    OpConstantPipeStorage = 323,
-    OpCreatePipeFromPipeStorage = 324,
-    OpGetKernelLocalSizeForSubgroupCount = 325,
-    OpGetKernelMaxNumSubgroups = 326,
-    OpTypeNamedBarrier = 327,
-    OpNamedBarrierInitialize = 328,
-    OpMemoryNamedBarrier = 329,
-    OpModuleProcessed = 330,
-    OpExecutionModeId = 331,
-    OpDecorateId = 332,
-    OpGroupNonUniformElect = 333,
-    OpGroupNonUniformAll = 334,
-    OpGroupNonUniformAny = 335,
-    OpGroupNonUniformAllEqual = 336,
-    OpGroupNonUniformBroadcast = 337,
-    OpGroupNonUniformBroadcastFirst = 338,
-    OpGroupNonUniformBallot = 339,
-    OpGroupNonUniformInverseBallot = 340,
-    OpGroupNonUniformBallotBitExtract = 341,
-    OpGroupNonUniformBallotBitCount = 342,
-    OpGroupNonUniformBallotFindLSB = 343,
-    OpGroupNonUniformBallotFindMSB = 344,
-    OpGroupNonUniformShuffle = 345,
-    OpGroupNonUniformShuffleXor = 346,
-    OpGroupNonUniformShuffleUp = 347,
-    OpGroupNonUniformShuffleDown = 348,
-    OpGroupNonUniformIAdd = 349,
-    OpGroupNonUniformFAdd = 350,
-    OpGroupNonUniformIMul = 351,
-    OpGroupNonUniformFMul = 352,
-    OpGroupNonUniformSMin = 353,
-    OpGroupNonUniformUMin = 354,
-    OpGroupNonUniformFMin = 355,
-    OpGroupNonUniformSMax = 356,
-    OpGroupNonUniformUMax = 357,
-    OpGroupNonUniformFMax = 358,
-    OpGroupNonUniformBitwiseAnd = 359,
-    OpGroupNonUniformBitwiseOr = 360,
-    OpGroupNonUniformBitwiseXor = 361,
-    OpGroupNonUniformLogicalAnd = 362,
-    OpGroupNonUniformLogicalOr = 363,
-    OpGroupNonUniformLogicalXor = 364,
-    OpGroupNonUniformQuadBroadcast = 365,
-    OpGroupNonUniformQuadSwap = 366,
-    OpCopyLogical = 400,
-    OpPtrEqual = 401,
-    OpPtrNotEqual = 402,
-    OpPtrDiff = 403,
-    OpSubgroupBallotKHR = 4421,
-    OpSubgroupFirstInvocationKHR = 4422,
-    OpSubgroupAllKHR = 4428,
-    OpSubgroupAnyKHR = 4429,
-    OpSubgroupAllEqualKHR = 4430,
-    OpSubgroupReadInvocationKHR = 4432,
-    OpTypeRayQueryProvisionalKHR = 4472,
-    OpRayQueryInitializeKHR = 4473,
-    OpRayQueryTerminateKHR = 4474,
-    OpRayQueryGenerateIntersectionKHR = 4475,
-    OpRayQueryConfirmIntersectionKHR = 4476,
-    OpRayQueryProceedKHR = 4477,
-    OpRayQueryGetIntersectionTypeKHR = 4479,
-    OpGroupIAddNonUniformAMD = 5000,
-    OpGroupFAddNonUniformAMD = 5001,
-    OpGroupFMinNonUniformAMD = 5002,
-    OpGroupUMinNonUniformAMD = 5003,
-    OpGroupSMinNonUniformAMD = 5004,
-    OpGroupFMaxNonUniformAMD = 5005,
-    OpGroupUMaxNonUniformAMD = 5006,
-    OpGroupSMaxNonUniformAMD = 5007,
-    OpFragmentMaskFetchAMD = 5011,
-    OpFragmentFetchAMD = 5012,
-    OpReadClockKHR = 5056,
-    OpImageSampleFootprintNV = 5283,
-    OpGroupNonUniformPartitionNV = 5296,
-    OpWritePackedPrimitiveIndices4x8NV = 5299,
-    OpReportIntersectionKHR = 5334,
-    OpReportIntersectionNV = 5334,
-    OpIgnoreIntersectionKHR = 5335,
-    OpIgnoreIntersectionNV = 5335,
-    OpTerminateRayKHR = 5336,
-    OpTerminateRayNV = 5336,
-    OpTraceNV = 5337,
-    OpTraceRayKHR = 5337,
-    OpTypeAccelerationStructureKHR = 5341,
-    OpTypeAccelerationStructureNV = 5341,
-    OpExecuteCallableKHR = 5344,
-    OpExecuteCallableNV = 5344,
-    OpTypeCooperativeMatrixNV = 5358,
-    OpCooperativeMatrixLoadNV = 5359,
-    OpCooperativeMatrixStoreNV = 5360,
-    OpCooperativeMatrixMulAddNV = 5361,
-    OpCooperativeMatrixLengthNV = 5362,
-    OpBeginInvocationInterlockEXT = 5364,
-    OpEndInvocationInterlockEXT = 5365,
-    OpDemoteToHelperInvocationEXT = 5380,
-    OpIsHelperInvocationEXT = 5381,
-    OpSubgroupShuffleINTEL = 5571,
-    OpSubgroupShuffleDownINTEL = 5572,
-    OpSubgroupShuffleUpINTEL = 5573,
-    OpSubgroupShuffleXorINTEL = 5574,
-    OpSubgroupBlockReadINTEL = 5575,
-    OpSubgroupBlockWriteINTEL = 5576,
-    OpSubgroupImageBlockReadINTEL = 5577,
-    OpSubgroupImageBlockWriteINTEL = 5578,
-    OpSubgroupImageMediaBlockReadINTEL = 5580,
-    OpSubgroupImageMediaBlockWriteINTEL = 5581,
-    OpUCountLeadingZerosINTEL = 5585,
-    OpUCountTrailingZerosINTEL = 5586,
-    OpAbsISubINTEL = 5587,
-    OpAbsUSubINTEL = 5588,
-    OpIAddSatINTEL = 5589,
-    OpUAddSatINTEL = 5590,
-    OpIAverageINTEL = 5591,
-    OpUAverageINTEL = 5592,
-    OpIAverageRoundedINTEL = 5593,
-    OpUAverageRoundedINTEL = 5594,
-    OpISubSatINTEL = 5595,
-    OpUSubSatINTEL = 5596,
-    OpIMul32x16INTEL = 5597,
-    OpUMul32x16INTEL = 5598,
-    OpDecorateString = 5632,
-    OpDecorateStringGOOGLE = 5632,
-    OpMemberDecorateString = 5633,
-    OpMemberDecorateStringGOOGLE = 5633,
-    OpVmeImageINTEL = 5699,
-    OpTypeVmeImageINTEL = 5700,
-    OpTypeAvcImePayloadINTEL = 5701,
-    OpTypeAvcRefPayloadINTEL = 5702,
-    OpTypeAvcSicPayloadINTEL = 5703,
-    OpTypeAvcMcePayloadINTEL = 5704,
-    OpTypeAvcMceResultINTEL = 5705,
-    OpTypeAvcImeResultINTEL = 5706,
-    OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
-    OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
-    OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
-    OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
-    OpTypeAvcRefResultINTEL = 5711,
-    OpTypeAvcSicResultINTEL = 5712,
-    OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
-    OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
-    OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
-    OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
-    OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
-    OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
-    OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
-    OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
-    OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
-    OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
-    OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
-    OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
-    OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
-    OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
-    OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
-    OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
-    OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
-    OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
-    OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
-    OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
-    OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
-    OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
-    OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
-    OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
-    OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
-    OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
-    OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
-    OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
-    OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
-    OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
-    OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
-    OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
-    OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
-    OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
-    OpSubgroupAvcImeInitializeINTEL = 5747,
-    OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
-    OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
-    OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
-    OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
-    OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
-    OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
-    OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
-    OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
-    OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
-    OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
-    OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
-    OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
-    OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
-    OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
-    OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
-    OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
-    OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
-    OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
-    OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
-    OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
-    OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
-    OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
-    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
-    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
-    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
-    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
-    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
-    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
-    OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
-    OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
-    OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
-    OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
-    OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
-    OpSubgroupAvcFmeInitializeINTEL = 5781,
-    OpSubgroupAvcBmeInitializeINTEL = 5782,
-    OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
-    OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
-    OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
-    OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
-    OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
-    OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
-    OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
-    OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
-    OpSubgroupAvcSicInitializeINTEL = 5791,
-    OpSubgroupAvcSicConfigureSkcINTEL = 5792,
-    OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
-    OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
-    OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
-    OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
-    OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
-    OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
-    OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
-    OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
-    OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
-    OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
-    OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
-    OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
-    OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
-    OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
-    OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
-    OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
-    OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
-    OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
-    OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
-    OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
-    OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
-    OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
-    OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
-    OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
-    OpRayQueryGetRayTMinKHR = 6016,
-    OpRayQueryGetRayFlagsKHR = 6017,
-    OpRayQueryGetIntersectionTKHR = 6018,
-    OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
-    OpRayQueryGetIntersectionInstanceIdKHR = 6020,
-    OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
-    OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
-    OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
-    OpRayQueryGetIntersectionBarycentricsKHR = 6024,
-    OpRayQueryGetIntersectionFrontFaceKHR = 6025,
-    OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
-    OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
-    OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
-    OpRayQueryGetWorldRayDirectionKHR = 6029,
-    OpRayQueryGetWorldRayOriginKHR = 6030,
-    OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
-    OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
-    OpMax = 0x7fffffff,
-};
-
-#ifdef SPV_ENABLE_UTILITY_CODE
-inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
-    *hasResult = *hasResultType = false;
-    switch (opcode) {
-    default: /* unknown opcode */ break;
-    case OpNop: *hasResult = false; *hasResultType = false; break;
-    case OpUndef: *hasResult = true; *hasResultType = true; break;
-    case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
-    case OpSource: *hasResult = false; *hasResultType = false; break;
-    case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
-    case OpName: *hasResult = false; *hasResultType = false; break;
-    case OpMemberName: *hasResult = false; *hasResultType = false; break;
-    case OpString: *hasResult = true; *hasResultType = false; break;
-    case OpLine: *hasResult = false; *hasResultType = false; break;
-    case OpExtension: *hasResult = false; *hasResultType = false; break;
-    case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
-    case OpExtInst: *hasResult = true; *hasResultType = true; break;
-    case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
-    case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
-    case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
-    case OpCapability: *hasResult = false; *hasResultType = false; break;
-    case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
-    case OpTypeBool: *hasResult = true; *hasResultType = false; break;
-    case OpTypeInt: *hasResult = true; *hasResultType = false; break;
-    case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
-    case OpTypeVector: *hasResult = true; *hasResultType = false; break;
-    case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
-    case OpTypeImage: *hasResult = true; *hasResultType = false; break;
-    case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
-    case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
-    case OpTypeArray: *hasResult = true; *hasResultType = false; break;
-    case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
-    case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
-    case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
-    case OpTypePointer: *hasResult = true; *hasResultType = false; break;
-    case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
-    case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
-    case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
-    case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
-    case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
-    case OpTypePipe: *hasResult = true; *hasResultType = false; break;
-    case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
-    case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
-    case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
-    case OpConstant: *hasResult = true; *hasResultType = true; break;
-    case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
-    case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
-    case OpConstantNull: *hasResult = true; *hasResultType = true; break;
-    case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
-    case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
-    case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
-    case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
-    case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
-    case OpFunction: *hasResult = true; *hasResultType = true; break;
-    case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
-    case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
-    case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
-    case OpVariable: *hasResult = true; *hasResultType = true; break;
-    case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
-    case OpLoad: *hasResult = true; *hasResultType = true; break;
-    case OpStore: *hasResult = false; *hasResultType = false; break;
-    case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
-    case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
-    case OpAccessChain: *hasResult = true; *hasResultType = true; break;
-    case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
-    case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
-    case OpArrayLength: *hasResult = true; *hasResultType = true; break;
-    case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
-    case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
-    case OpDecorate: *hasResult = false; *hasResultType = false; break;
-    case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
-    case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
-    case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
-    case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
-    case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
-    case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
-    case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
-    case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
-    case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
-    case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
-    case OpCopyObject: *hasResult = true; *hasResultType = true; break;
-    case OpTranspose: *hasResult = true; *hasResultType = true; break;
-    case OpSampledImage: *hasResult = true; *hasResultType = true; break;
-    case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageFetch: *hasResult = true; *hasResultType = true; break;
-    case OpImageGather: *hasResult = true; *hasResultType = true; break;
-    case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
-    case OpImageRead: *hasResult = true; *hasResultType = true; break;
-    case OpImageWrite: *hasResult = false; *hasResultType = false; break;
-    case OpImage: *hasResult = true; *hasResultType = true; break;
-    case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
-    case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
-    case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
-    case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
-    case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
-    case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
-    case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
-    case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
-    case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
-    case OpUConvert: *hasResult = true; *hasResultType = true; break;
-    case OpSConvert: *hasResult = true; *hasResultType = true; break;
-    case OpFConvert: *hasResult = true; *hasResultType = true; break;
-    case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
-    case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
-    case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
-    case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
-    case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
-    case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
-    case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
-    case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
-    case OpBitcast: *hasResult = true; *hasResultType = true; break;
-    case OpSNegate: *hasResult = true; *hasResultType = true; break;
-    case OpFNegate: *hasResult = true; *hasResultType = true; break;
-    case OpIAdd: *hasResult = true; *hasResultType = true; break;
-    case OpFAdd: *hasResult = true; *hasResultType = true; break;
-    case OpISub: *hasResult = true; *hasResultType = true; break;
-    case OpFSub: *hasResult = true; *hasResultType = true; break;
-    case OpIMul: *hasResult = true; *hasResultType = true; break;
-    case OpFMul: *hasResult = true; *hasResultType = true; break;
-    case OpUDiv: *hasResult = true; *hasResultType = true; break;
-    case OpSDiv: *hasResult = true; *hasResultType = true; break;
-    case OpFDiv: *hasResult = true; *hasResultType = true; break;
-    case OpUMod: *hasResult = true; *hasResultType = true; break;
-    case OpSRem: *hasResult = true; *hasResultType = true; break;
-    case OpSMod: *hasResult = true; *hasResultType = true; break;
-    case OpFRem: *hasResult = true; *hasResultType = true; break;
-    case OpFMod: *hasResult = true; *hasResultType = true; break;
-    case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
-    case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
-    case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
-    case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
-    case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
-    case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
-    case OpDot: *hasResult = true; *hasResultType = true; break;
-    case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
-    case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
-    case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
-    case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
-    case OpAny: *hasResult = true; *hasResultType = true; break;
-    case OpAll: *hasResult = true; *hasResultType = true; break;
-    case OpIsNan: *hasResult = true; *hasResultType = true; break;
-    case OpIsInf: *hasResult = true; *hasResultType = true; break;
-    case OpIsFinite: *hasResult = true; *hasResultType = true; break;
-    case OpIsNormal: *hasResult = true; *hasResultType = true; break;
-    case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
-    case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
-    case OpOrdered: *hasResult = true; *hasResultType = true; break;
-    case OpUnordered: *hasResult = true; *hasResultType = true; break;
-    case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
-    case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
-    case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
-    case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
-    case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
-    case OpSelect: *hasResult = true; *hasResultType = true; break;
-    case OpIEqual: *hasResult = true; *hasResultType = true; break;
-    case OpINotEqual: *hasResult = true; *hasResultType = true; break;
-    case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case OpULessThan: *hasResult = true; *hasResultType = true; break;
-    case OpSLessThan: *hasResult = true; *hasResultType = true; break;
-    case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
-    case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
-    case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
-    case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
-    case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
-    case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
-    case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
-    case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
-    case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
-    case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
-    case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
-    case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
-    case OpNot: *hasResult = true; *hasResultType = true; break;
-    case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
-    case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
-    case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
-    case OpBitReverse: *hasResult = true; *hasResultType = true; break;
-    case OpBitCount: *hasResult = true; *hasResultType = true; break;
-    case OpDPdx: *hasResult = true; *hasResultType = true; break;
-    case OpDPdy: *hasResult = true; *hasResultType = true; break;
-    case OpFwidth: *hasResult = true; *hasResultType = true; break;
-    case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
-    case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
-    case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
-    case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
-    case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
-    case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
-    case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
-    case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
-    case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
-    case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
-    case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
-    case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
-    case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
-    case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
-    case OpPhi: *hasResult = true; *hasResultType = true; break;
-    case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
-    case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
-    case OpLabel: *hasResult = true; *hasResultType = false; break;
-    case OpBranch: *hasResult = false; *hasResultType = false; break;
-    case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
-    case OpSwitch: *hasResult = false; *hasResultType = false; break;
-    case OpKill: *hasResult = false; *hasResultType = false; break;
-    case OpReturn: *hasResult = false; *hasResultType = false; break;
-    case OpReturnValue: *hasResult = false; *hasResultType = false; break;
-    case OpUnreachable: *hasResult = false; *hasResultType = false; break;
-    case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
-    case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
-    case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
-    case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
-    case OpGroupAll: *hasResult = true; *hasResultType = true; break;
-    case OpGroupAny: *hasResult = true; *hasResultType = true; break;
-    case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
-    case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
-    case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
-    case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
-    case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
-    case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
-    case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
-    case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
-    case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
-    case OpReadPipe: *hasResult = true; *hasResultType = true; break;
-    case OpWritePipe: *hasResult = true; *hasResultType = true; break;
-    case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
-    case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
-    case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
-    case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
-    case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
-    case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
-    case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
-    case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
-    case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
-    case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
-    case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
-    case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
-    case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
-    case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
-    case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
-    case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
-    case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
-    case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
-    case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
-    case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
-    case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
-    case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
-    case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
-    case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
-    case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
-    case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
-    case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
-    case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
-    case OpNoLine: *hasResult = false; *hasResultType = false; break;
-    case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
-    case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
-    case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
-    case OpSizeOf: *hasResult = true; *hasResultType = true; break;
-    case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
-    case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
-    case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
-    case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
-    case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
-    case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
-    case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
-    case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
-    case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
-    case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
-    case OpDecorateId: *hasResult = false; *hasResultType = false; break;
-    case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
-    case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
-    case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
-    case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
-    case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
-    case OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
-    case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
-    case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
-    case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
-    case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
-    case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
-    case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
-    case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
-    case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
-    case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
-    case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
-    case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
-    case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
-    case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
-    case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
-    case OpTraceNV: *hasResult = false; *hasResultType = false; break;
-    case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
-    case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
-    case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
-    case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
-    case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
-    case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
-    case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
-    case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
-    case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
-    case OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
-    case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
-    case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
-    case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
-    case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
-    case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
-    case OpDecorateString: *hasResult = false; *hasResultType = false; break;
-    case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
-    case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
-    case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
-    }
-}
-#endif /* SPV_ENABLE_UTILITY_CODE */
-
-// Overload operator| for mask bit combining
-
-inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
-inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
-inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
-inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
-inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
-inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
-inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
-inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
-inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
-
-}  // end namespace spv
-
-#endif  // #ifndef spirv_HPP
-
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
deleted file mode 100644
index e34318d..0000000
--- a/include/spirv/unified1/spirv.hpp11
+++ /dev/null
@@ -1,2114 +0,0 @@
-// Copyright (c) 2014-2020 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"),
-// to deal in the Materials without restriction, including without limitation
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-// and/or sell copies of the Materials, and to permit persons to whom the
-// Materials are furnished to do so, subject to the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Materials.
-// 
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
-// 
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
-// IN THE MATERIALS.
-
-// This header is automatically generated by the same tool that creates
-// the Binary Section of the SPIR-V specification.
-
-// Enumeration tokens for SPIR-V, in various styles:
-//   C, C++, C++11, JSON, Lua, Python, C#, D
-// 
-// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-// - C# will use enum classes in the Specification class located in the "Spv" namespace,
-//     e.g.: Spv.Specification.SourceLanguage.GLSL
-// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
-// 
-// Some tokens act like mask values, which can be OR'd together,
-// while others are mutually exclusive.  The mask-like ones have
-// "Mask" in their name, and a parallel enum that has the shift
-// amount (1 << x) for each corresponding enumerant.
-
-#ifndef spirv_HPP
-#define spirv_HPP
-
-namespace spv {
-
-typedef unsigned int Id;
-
-#define SPV_VERSION 0x10500
-#define SPV_REVISION 3
-
-static const unsigned int MagicNumber = 0x07230203;
-static const unsigned int Version = 0x00010500;
-static const unsigned int Revision = 3;
-static const unsigned int OpCodeMask = 0xffff;
-static const unsigned int WordCountShift = 16;
-
-enum class SourceLanguage : unsigned {
-    Unknown = 0,
-    ESSL = 1,
-    GLSL = 2,
-    OpenCL_C = 3,
-    OpenCL_CPP = 4,
-    HLSL = 5,
-    Max = 0x7fffffff,
-};
-
-enum class ExecutionModel : unsigned {
-    Vertex = 0,
-    TessellationControl = 1,
-    TessellationEvaluation = 2,
-    Geometry = 3,
-    Fragment = 4,
-    GLCompute = 5,
-    Kernel = 6,
-    TaskNV = 5267,
-    MeshNV = 5268,
-    RayGenerationKHR = 5313,
-    RayGenerationNV = 5313,
-    IntersectionKHR = 5314,
-    IntersectionNV = 5314,
-    AnyHitKHR = 5315,
-    AnyHitNV = 5315,
-    ClosestHitKHR = 5316,
-    ClosestHitNV = 5316,
-    MissKHR = 5317,
-    MissNV = 5317,
-    CallableKHR = 5318,
-    CallableNV = 5318,
-    Max = 0x7fffffff,
-};
-
-enum class AddressingModel : unsigned {
-    Logical = 0,
-    Physical32 = 1,
-    Physical64 = 2,
-    PhysicalStorageBuffer64 = 5348,
-    PhysicalStorageBuffer64EXT = 5348,
-    Max = 0x7fffffff,
-};
-
-enum class MemoryModel : unsigned {
-    Simple = 0,
-    GLSL450 = 1,
-    OpenCL = 2,
-    Vulkan = 3,
-    VulkanKHR = 3,
-    Max = 0x7fffffff,
-};
-
-enum class ExecutionMode : unsigned {
-    Invocations = 0,
-    SpacingEqual = 1,
-    SpacingFractionalEven = 2,
-    SpacingFractionalOdd = 3,
-    VertexOrderCw = 4,
-    VertexOrderCcw = 5,
-    PixelCenterInteger = 6,
-    OriginUpperLeft = 7,
-    OriginLowerLeft = 8,
-    EarlyFragmentTests = 9,
-    PointMode = 10,
-    Xfb = 11,
-    DepthReplacing = 12,
-    DepthGreater = 14,
-    DepthLess = 15,
-    DepthUnchanged = 16,
-    LocalSize = 17,
-    LocalSizeHint = 18,
-    InputPoints = 19,
-    InputLines = 20,
-    InputLinesAdjacency = 21,
-    Triangles = 22,
-    InputTrianglesAdjacency = 23,
-    Quads = 24,
-    Isolines = 25,
-    OutputVertices = 26,
-    OutputPoints = 27,
-    OutputLineStrip = 28,
-    OutputTriangleStrip = 29,
-    VecTypeHint = 30,
-    ContractionOff = 31,
-    Initializer = 33,
-    Finalizer = 34,
-    SubgroupSize = 35,
-    SubgroupsPerWorkgroup = 36,
-    SubgroupsPerWorkgroupId = 37,
-    LocalSizeId = 38,
-    LocalSizeHintId = 39,
-    PostDepthCoverage = 4446,
-    DenormPreserve = 4459,
-    DenormFlushToZero = 4460,
-    SignedZeroInfNanPreserve = 4461,
-    RoundingModeRTE = 4462,
-    RoundingModeRTZ = 4463,
-    StencilRefReplacingEXT = 5027,
-    OutputLinesNV = 5269,
-    OutputPrimitivesNV = 5270,
-    DerivativeGroupQuadsNV = 5289,
-    DerivativeGroupLinearNV = 5290,
-    OutputTrianglesNV = 5298,
-    PixelInterlockOrderedEXT = 5366,
-    PixelInterlockUnorderedEXT = 5367,
-    SampleInterlockOrderedEXT = 5368,
-    SampleInterlockUnorderedEXT = 5369,
-    ShadingRateInterlockOrderedEXT = 5370,
-    ShadingRateInterlockUnorderedEXT = 5371,
-    Max = 0x7fffffff,
-};
-
-enum class StorageClass : unsigned {
-    UniformConstant = 0,
-    Input = 1,
-    Uniform = 2,
-    Output = 3,
-    Workgroup = 4,
-    CrossWorkgroup = 5,
-    Private = 6,
-    Function = 7,
-    Generic = 8,
-    PushConstant = 9,
-    AtomicCounter = 10,
-    Image = 11,
-    StorageBuffer = 12,
-    CallableDataKHR = 5328,
-    CallableDataNV = 5328,
-    IncomingCallableDataKHR = 5329,
-    IncomingCallableDataNV = 5329,
-    RayPayloadKHR = 5338,
-    RayPayloadNV = 5338,
-    HitAttributeKHR = 5339,
-    HitAttributeNV = 5339,
-    IncomingRayPayloadKHR = 5342,
-    IncomingRayPayloadNV = 5342,
-    ShaderRecordBufferKHR = 5343,
-    ShaderRecordBufferNV = 5343,
-    PhysicalStorageBuffer = 5349,
-    PhysicalStorageBufferEXT = 5349,
-    Max = 0x7fffffff,
-};
-
-enum class Dim : unsigned {
-    Dim1D = 0,
-    Dim2D = 1,
-    Dim3D = 2,
-    Cube = 3,
-    Rect = 4,
-    Buffer = 5,
-    SubpassData = 6,
-    Max = 0x7fffffff,
-};
-
-enum class SamplerAddressingMode : unsigned {
-    None = 0,
-    ClampToEdge = 1,
-    Clamp = 2,
-    Repeat = 3,
-    RepeatMirrored = 4,
-    Max = 0x7fffffff,
-};
-
-enum class SamplerFilterMode : unsigned {
-    Nearest = 0,
-    Linear = 1,
-    Max = 0x7fffffff,
-};
-
-enum class ImageFormat : unsigned {
-    Unknown = 0,
-    Rgba32f = 1,
-    Rgba16f = 2,
-    R32f = 3,
-    Rgba8 = 4,
-    Rgba8Snorm = 5,
-    Rg32f = 6,
-    Rg16f = 7,
-    R11fG11fB10f = 8,
-    R16f = 9,
-    Rgba16 = 10,
-    Rgb10A2 = 11,
-    Rg16 = 12,
-    Rg8 = 13,
-    R16 = 14,
-    R8 = 15,
-    Rgba16Snorm = 16,
-    Rg16Snorm = 17,
-    Rg8Snorm = 18,
-    R16Snorm = 19,
-    R8Snorm = 20,
-    Rgba32i = 21,
-    Rgba16i = 22,
-    Rgba8i = 23,
-    R32i = 24,
-    Rg32i = 25,
-    Rg16i = 26,
-    Rg8i = 27,
-    R16i = 28,
-    R8i = 29,
-    Rgba32ui = 30,
-    Rgba16ui = 31,
-    Rgba8ui = 32,
-    R32ui = 33,
-    Rgb10a2ui = 34,
-    Rg32ui = 35,
-    Rg16ui = 36,
-    Rg8ui = 37,
-    R16ui = 38,
-    R8ui = 39,
-    Max = 0x7fffffff,
-};
-
-enum class ImageChannelOrder : unsigned {
-    R = 0,
-    A = 1,
-    RG = 2,
-    RA = 3,
-    RGB = 4,
-    RGBA = 5,
-    BGRA = 6,
-    ARGB = 7,
-    Intensity = 8,
-    Luminance = 9,
-    Rx = 10,
-    RGx = 11,
-    RGBx = 12,
-    Depth = 13,
-    DepthStencil = 14,
-    sRGB = 15,
-    sRGBx = 16,
-    sRGBA = 17,
-    sBGRA = 18,
-    ABGR = 19,
-    Max = 0x7fffffff,
-};
-
-enum class ImageChannelDataType : unsigned {
-    SnormInt8 = 0,
-    SnormInt16 = 1,
-    UnormInt8 = 2,
-    UnormInt16 = 3,
-    UnormShort565 = 4,
-    UnormShort555 = 5,
-    UnormInt101010 = 6,
-    SignedInt8 = 7,
-    SignedInt16 = 8,
-    SignedInt32 = 9,
-    UnsignedInt8 = 10,
-    UnsignedInt16 = 11,
-    UnsignedInt32 = 12,
-    HalfFloat = 13,
-    Float = 14,
-    UnormInt24 = 15,
-    UnormInt101010_2 = 16,
-    Max = 0x7fffffff,
-};
-
-enum class ImageOperandsShift : unsigned {
-    Bias = 0,
-    Lod = 1,
-    Grad = 2,
-    ConstOffset = 3,
-    Offset = 4,
-    ConstOffsets = 5,
-    Sample = 6,
-    MinLod = 7,
-    MakeTexelAvailable = 8,
-    MakeTexelAvailableKHR = 8,
-    MakeTexelVisible = 9,
-    MakeTexelVisibleKHR = 9,
-    NonPrivateTexel = 10,
-    NonPrivateTexelKHR = 10,
-    VolatileTexel = 11,
-    VolatileTexelKHR = 11,
-    SignExtend = 12,
-    ZeroExtend = 13,
-    Max = 0x7fffffff,
-};
-
-enum class ImageOperandsMask : unsigned {
-    MaskNone = 0,
-    Bias = 0x00000001,
-    Lod = 0x00000002,
-    Grad = 0x00000004,
-    ConstOffset = 0x00000008,
-    Offset = 0x00000010,
-    ConstOffsets = 0x00000020,
-    Sample = 0x00000040,
-    MinLod = 0x00000080,
-    MakeTexelAvailable = 0x00000100,
-    MakeTexelAvailableKHR = 0x00000100,
-    MakeTexelVisible = 0x00000200,
-    MakeTexelVisibleKHR = 0x00000200,
-    NonPrivateTexel = 0x00000400,
-    NonPrivateTexelKHR = 0x00000400,
-    VolatileTexel = 0x00000800,
-    VolatileTexelKHR = 0x00000800,
-    SignExtend = 0x00001000,
-    ZeroExtend = 0x00002000,
-};
-
-enum class FPFastMathModeShift : unsigned {
-    NotNaN = 0,
-    NotInf = 1,
-    NSZ = 2,
-    AllowRecip = 3,
-    Fast = 4,
-    Max = 0x7fffffff,
-};
-
-enum class FPFastMathModeMask : unsigned {
-    MaskNone = 0,
-    NotNaN = 0x00000001,
-    NotInf = 0x00000002,
-    NSZ = 0x00000004,
-    AllowRecip = 0x00000008,
-    Fast = 0x00000010,
-};
-
-enum class FPRoundingMode : unsigned {
-    RTE = 0,
-    RTZ = 1,
-    RTP = 2,
-    RTN = 3,
-    Max = 0x7fffffff,
-};
-
-enum class LinkageType : unsigned {
-    Export = 0,
-    Import = 1,
-    Max = 0x7fffffff,
-};
-
-enum class AccessQualifier : unsigned {
-    ReadOnly = 0,
-    WriteOnly = 1,
-    ReadWrite = 2,
-    Max = 0x7fffffff,
-};
-
-enum class FunctionParameterAttribute : unsigned {
-    Zext = 0,
-    Sext = 1,
-    ByVal = 2,
-    Sret = 3,
-    NoAlias = 4,
-    NoCapture = 5,
-    NoWrite = 6,
-    NoReadWrite = 7,
-    Max = 0x7fffffff,
-};
-
-enum class Decoration : unsigned {
-    RelaxedPrecision = 0,
-    SpecId = 1,
-    Block = 2,
-    BufferBlock = 3,
-    RowMajor = 4,
-    ColMajor = 5,
-    ArrayStride = 6,
-    MatrixStride = 7,
-    GLSLShared = 8,
-    GLSLPacked = 9,
-    CPacked = 10,
-    BuiltIn = 11,
-    NoPerspective = 13,
-    Flat = 14,
-    Patch = 15,
-    Centroid = 16,
-    Sample = 17,
-    Invariant = 18,
-    Restrict = 19,
-    Aliased = 20,
-    Volatile = 21,
-    Constant = 22,
-    Coherent = 23,
-    NonWritable = 24,
-    NonReadable = 25,
-    Uniform = 26,
-    UniformId = 27,
-    SaturatedConversion = 28,
-    Stream = 29,
-    Location = 30,
-    Component = 31,
-    Index = 32,
-    Binding = 33,
-    DescriptorSet = 34,
-    Offset = 35,
-    XfbBuffer = 36,
-    XfbStride = 37,
-    FuncParamAttr = 38,
-    FPRoundingMode = 39,
-    FPFastMathMode = 40,
-    LinkageAttributes = 41,
-    NoContraction = 42,
-    InputAttachmentIndex = 43,
-    Alignment = 44,
-    MaxByteOffset = 45,
-    AlignmentId = 46,
-    MaxByteOffsetId = 47,
-    NoSignedWrap = 4469,
-    NoUnsignedWrap = 4470,
-    ExplicitInterpAMD = 4999,
-    OverrideCoverageNV = 5248,
-    PassthroughNV = 5250,
-    ViewportRelativeNV = 5252,
-    SecondaryViewportRelativeNV = 5256,
-    PerPrimitiveNV = 5271,
-    PerViewNV = 5272,
-    PerTaskNV = 5273,
-    PerVertexNV = 5285,
-    NonUniform = 5300,
-    NonUniformEXT = 5300,
-    RestrictPointer = 5355,
-    RestrictPointerEXT = 5355,
-    AliasedPointer = 5356,
-    AliasedPointerEXT = 5356,
-    CounterBuffer = 5634,
-    HlslCounterBufferGOOGLE = 5634,
-    HlslSemanticGOOGLE = 5635,
-    UserSemantic = 5635,
-    UserTypeGOOGLE = 5636,
-    Max = 0x7fffffff,
-};
-
-enum class BuiltIn : unsigned {
-    Position = 0,
-    PointSize = 1,
-    ClipDistance = 3,
-    CullDistance = 4,
-    VertexId = 5,
-    InstanceId = 6,
-    PrimitiveId = 7,
-    InvocationId = 8,
-    Layer = 9,
-    ViewportIndex = 10,
-    TessLevelOuter = 11,
-    TessLevelInner = 12,
-    TessCoord = 13,
-    PatchVertices = 14,
-    FragCoord = 15,
-    PointCoord = 16,
-    FrontFacing = 17,
-    SampleId = 18,
-    SamplePosition = 19,
-    SampleMask = 20,
-    FragDepth = 22,
-    HelperInvocation = 23,
-    NumWorkgroups = 24,
-    WorkgroupSize = 25,
-    WorkgroupId = 26,
-    LocalInvocationId = 27,
-    GlobalInvocationId = 28,
-    LocalInvocationIndex = 29,
-    WorkDim = 30,
-    GlobalSize = 31,
-    EnqueuedWorkgroupSize = 32,
-    GlobalOffset = 33,
-    GlobalLinearId = 34,
-    SubgroupSize = 36,
-    SubgroupMaxSize = 37,
-    NumSubgroups = 38,
-    NumEnqueuedSubgroups = 39,
-    SubgroupId = 40,
-    SubgroupLocalInvocationId = 41,
-    VertexIndex = 42,
-    InstanceIndex = 43,
-    SubgroupEqMask = 4416,
-    SubgroupEqMaskKHR = 4416,
-    SubgroupGeMask = 4417,
-    SubgroupGeMaskKHR = 4417,
-    SubgroupGtMask = 4418,
-    SubgroupGtMaskKHR = 4418,
-    SubgroupLeMask = 4419,
-    SubgroupLeMaskKHR = 4419,
-    SubgroupLtMask = 4420,
-    SubgroupLtMaskKHR = 4420,
-    BaseVertex = 4424,
-    BaseInstance = 4425,
-    DrawIndex = 4426,
-    DeviceIndex = 4438,
-    ViewIndex = 4440,
-    BaryCoordNoPerspAMD = 4992,
-    BaryCoordNoPerspCentroidAMD = 4993,
-    BaryCoordNoPerspSampleAMD = 4994,
-    BaryCoordSmoothAMD = 4995,
-    BaryCoordSmoothCentroidAMD = 4996,
-    BaryCoordSmoothSampleAMD = 4997,
-    BaryCoordPullModelAMD = 4998,
-    FragStencilRefEXT = 5014,
-    ViewportMaskNV = 5253,
-    SecondaryPositionNV = 5257,
-    SecondaryViewportMaskNV = 5258,
-    PositionPerViewNV = 5261,
-    ViewportMaskPerViewNV = 5262,
-    FullyCoveredEXT = 5264,
-    TaskCountNV = 5274,
-    PrimitiveCountNV = 5275,
-    PrimitiveIndicesNV = 5276,
-    ClipDistancePerViewNV = 5277,
-    CullDistancePerViewNV = 5278,
-    LayerPerViewNV = 5279,
-    MeshViewCountNV = 5280,
-    MeshViewIndicesNV = 5281,
-    BaryCoordNV = 5286,
-    BaryCoordNoPerspNV = 5287,
-    FragSizeEXT = 5292,
-    FragmentSizeNV = 5292,
-    FragInvocationCountEXT = 5293,
-    InvocationsPerPixelNV = 5293,
-    LaunchIdKHR = 5319,
-    LaunchIdNV = 5319,
-    LaunchSizeKHR = 5320,
-    LaunchSizeNV = 5320,
-    WorldRayOriginKHR = 5321,
-    WorldRayOriginNV = 5321,
-    WorldRayDirectionKHR = 5322,
-    WorldRayDirectionNV = 5322,
-    ObjectRayOriginKHR = 5323,
-    ObjectRayOriginNV = 5323,
-    ObjectRayDirectionKHR = 5324,
-    ObjectRayDirectionNV = 5324,
-    RayTminKHR = 5325,
-    RayTminNV = 5325,
-    RayTmaxKHR = 5326,
-    RayTmaxNV = 5326,
-    InstanceCustomIndexKHR = 5327,
-    InstanceCustomIndexNV = 5327,
-    ObjectToWorldKHR = 5330,
-    ObjectToWorldNV = 5330,
-    WorldToObjectKHR = 5331,
-    WorldToObjectNV = 5331,
-    HitTKHR = 5332,
-    HitTNV = 5332,
-    HitKindKHR = 5333,
-    HitKindNV = 5333,
-    IncomingRayFlagsKHR = 5351,
-    IncomingRayFlagsNV = 5351,
-    RayGeometryIndexKHR = 5352,
-    WarpsPerSMNV = 5374,
-    SMCountNV = 5375,
-    WarpIDNV = 5376,
-    SMIDNV = 5377,
-    Max = 0x7fffffff,
-};
-
-enum class SelectionControlShift : unsigned {
-    Flatten = 0,
-    DontFlatten = 1,
-    Max = 0x7fffffff,
-};
-
-enum class SelectionControlMask : unsigned {
-    MaskNone = 0,
-    Flatten = 0x00000001,
-    DontFlatten = 0x00000002,
-};
-
-enum class LoopControlShift : unsigned {
-    Unroll = 0,
-    DontUnroll = 1,
-    DependencyInfinite = 2,
-    DependencyLength = 3,
-    MinIterations = 4,
-    MaxIterations = 5,
-    IterationMultiple = 6,
-    PeelCount = 7,
-    PartialCount = 8,
-    Max = 0x7fffffff,
-};
-
-enum class LoopControlMask : unsigned {
-    MaskNone = 0,
-    Unroll = 0x00000001,
-    DontUnroll = 0x00000002,
-    DependencyInfinite = 0x00000004,
-    DependencyLength = 0x00000008,
-    MinIterations = 0x00000010,
-    MaxIterations = 0x00000020,
-    IterationMultiple = 0x00000040,
-    PeelCount = 0x00000080,
-    PartialCount = 0x00000100,
-};
-
-enum class FunctionControlShift : unsigned {
-    Inline = 0,
-    DontInline = 1,
-    Pure = 2,
-    Const = 3,
-    Max = 0x7fffffff,
-};
-
-enum class FunctionControlMask : unsigned {
-    MaskNone = 0,
-    Inline = 0x00000001,
-    DontInline = 0x00000002,
-    Pure = 0x00000004,
-    Const = 0x00000008,
-};
-
-enum class MemorySemanticsShift : unsigned {
-    Acquire = 1,
-    Release = 2,
-    AcquireRelease = 3,
-    SequentiallyConsistent = 4,
-    UniformMemory = 6,
-    SubgroupMemory = 7,
-    WorkgroupMemory = 8,
-    CrossWorkgroupMemory = 9,
-    AtomicCounterMemory = 10,
-    ImageMemory = 11,
-    OutputMemory = 12,
-    OutputMemoryKHR = 12,
-    MakeAvailable = 13,
-    MakeAvailableKHR = 13,
-    MakeVisible = 14,
-    MakeVisibleKHR = 14,
-    Volatile = 15,
-    Max = 0x7fffffff,
-};
-
-enum class MemorySemanticsMask : unsigned {
-    MaskNone = 0,
-    Acquire = 0x00000002,
-    Release = 0x00000004,
-    AcquireRelease = 0x00000008,
-    SequentiallyConsistent = 0x00000010,
-    UniformMemory = 0x00000040,
-    SubgroupMemory = 0x00000080,
-    WorkgroupMemory = 0x00000100,
-    CrossWorkgroupMemory = 0x00000200,
-    AtomicCounterMemory = 0x00000400,
-    ImageMemory = 0x00000800,
-    OutputMemory = 0x00001000,
-    OutputMemoryKHR = 0x00001000,
-    MakeAvailable = 0x00002000,
-    MakeAvailableKHR = 0x00002000,
-    MakeVisible = 0x00004000,
-    MakeVisibleKHR = 0x00004000,
-    Volatile = 0x00008000,
-};
-
-enum class MemoryAccessShift : unsigned {
-    Volatile = 0,
-    Aligned = 1,
-    Nontemporal = 2,
-    MakePointerAvailable = 3,
-    MakePointerAvailableKHR = 3,
-    MakePointerVisible = 4,
-    MakePointerVisibleKHR = 4,
-    NonPrivatePointer = 5,
-    NonPrivatePointerKHR = 5,
-    Max = 0x7fffffff,
-};
-
-enum class MemoryAccessMask : unsigned {
-    MaskNone = 0,
-    Volatile = 0x00000001,
-    Aligned = 0x00000002,
-    Nontemporal = 0x00000004,
-    MakePointerAvailable = 0x00000008,
-    MakePointerAvailableKHR = 0x00000008,
-    MakePointerVisible = 0x00000010,
-    MakePointerVisibleKHR = 0x00000010,
-    NonPrivatePointer = 0x00000020,
-    NonPrivatePointerKHR = 0x00000020,
-};
-
-enum class Scope : unsigned {
-    CrossDevice = 0,
-    Device = 1,
-    Workgroup = 2,
-    Subgroup = 3,
-    Invocation = 4,
-    QueueFamily = 5,
-    QueueFamilyKHR = 5,
-    ShaderCallKHR = 6,
-    Max = 0x7fffffff,
-};
-
-enum class GroupOperation : unsigned {
-    Reduce = 0,
-    InclusiveScan = 1,
-    ExclusiveScan = 2,
-    ClusteredReduce = 3,
-    PartitionedReduceNV = 6,
-    PartitionedInclusiveScanNV = 7,
-    PartitionedExclusiveScanNV = 8,
-    Max = 0x7fffffff,
-};
-
-enum class KernelEnqueueFlags : unsigned {
-    NoWait = 0,
-    WaitKernel = 1,
-    WaitWorkGroup = 2,
-    Max = 0x7fffffff,
-};
-
-enum class KernelProfilingInfoShift : unsigned {
-    CmdExecTime = 0,
-    Max = 0x7fffffff,
-};
-
-enum class KernelProfilingInfoMask : unsigned {
-    MaskNone = 0,
-    CmdExecTime = 0x00000001,
-};
-
-enum class Capability : unsigned {
-    Matrix = 0,
-    Shader = 1,
-    Geometry = 2,
-    Tessellation = 3,
-    Addresses = 4,
-    Linkage = 5,
-    Kernel = 6,
-    Vector16 = 7,
-    Float16Buffer = 8,
-    Float16 = 9,
-    Float64 = 10,
-    Int64 = 11,
-    Int64Atomics = 12,
-    ImageBasic = 13,
-    ImageReadWrite = 14,
-    ImageMipmap = 15,
-    Pipes = 17,
-    Groups = 18,
-    DeviceEnqueue = 19,
-    LiteralSampler = 20,
-    AtomicStorage = 21,
-    Int16 = 22,
-    TessellationPointSize = 23,
-    GeometryPointSize = 24,
-    ImageGatherExtended = 25,
-    StorageImageMultisample = 27,
-    UniformBufferArrayDynamicIndexing = 28,
-    SampledImageArrayDynamicIndexing = 29,
-    StorageBufferArrayDynamicIndexing = 30,
-    StorageImageArrayDynamicIndexing = 31,
-    ClipDistance = 32,
-    CullDistance = 33,
-    ImageCubeArray = 34,
-    SampleRateShading = 35,
-    ImageRect = 36,
-    SampledRect = 37,
-    GenericPointer = 38,
-    Int8 = 39,
-    InputAttachment = 40,
-    SparseResidency = 41,
-    MinLod = 42,
-    Sampled1D = 43,
-    Image1D = 44,
-    SampledCubeArray = 45,
-    SampledBuffer = 46,
-    ImageBuffer = 47,
-    ImageMSArray = 48,
-    StorageImageExtendedFormats = 49,
-    ImageQuery = 50,
-    DerivativeControl = 51,
-    InterpolationFunction = 52,
-    TransformFeedback = 53,
-    GeometryStreams = 54,
-    StorageImageReadWithoutFormat = 55,
-    StorageImageWriteWithoutFormat = 56,
-    MultiViewport = 57,
-    SubgroupDispatch = 58,
-    NamedBarrier = 59,
-    PipeStorage = 60,
-    GroupNonUniform = 61,
-    GroupNonUniformVote = 62,
-    GroupNonUniformArithmetic = 63,
-    GroupNonUniformBallot = 64,
-    GroupNonUniformShuffle = 65,
-    GroupNonUniformShuffleRelative = 66,
-    GroupNonUniformClustered = 67,
-    GroupNonUniformQuad = 68,
-    ShaderLayer = 69,
-    ShaderViewportIndex = 70,
-    SubgroupBallotKHR = 4423,
-    DrawParameters = 4427,
-    SubgroupVoteKHR = 4431,
-    StorageBuffer16BitAccess = 4433,
-    StorageUniformBufferBlock16 = 4433,
-    StorageUniform16 = 4434,
-    UniformAndStorageBuffer16BitAccess = 4434,
-    StoragePushConstant16 = 4435,
-    StorageInputOutput16 = 4436,
-    DeviceGroup = 4437,
-    MultiView = 4439,
-    VariablePointersStorageBuffer = 4441,
-    VariablePointers = 4442,
-    AtomicStorageOps = 4445,
-    SampleMaskPostDepthCoverage = 4447,
-    StorageBuffer8BitAccess = 4448,
-    UniformAndStorageBuffer8BitAccess = 4449,
-    StoragePushConstant8 = 4450,
-    DenormPreserve = 4464,
-    DenormFlushToZero = 4465,
-    SignedZeroInfNanPreserve = 4466,
-    RoundingModeRTE = 4467,
-    RoundingModeRTZ = 4468,
-    RayQueryProvisionalKHR = 4471,
-    RayTraversalPrimitiveCullingProvisionalKHR = 4478,
-    Float16ImageAMD = 5008,
-    ImageGatherBiasLodAMD = 5009,
-    FragmentMaskAMD = 5010,
-    StencilExportEXT = 5013,
-    ImageReadWriteLodAMD = 5015,
-    ShaderClockKHR = 5055,
-    SampleMaskOverrideCoverageNV = 5249,
-    GeometryShaderPassthroughNV = 5251,
-    ShaderViewportIndexLayerEXT = 5254,
-    ShaderViewportIndexLayerNV = 5254,
-    ShaderViewportMaskNV = 5255,
-    ShaderStereoViewNV = 5259,
-    PerViewAttributesNV = 5260,
-    FragmentFullyCoveredEXT = 5265,
-    MeshShadingNV = 5266,
-    ImageFootprintNV = 5282,
-    FragmentBarycentricNV = 5284,
-    ComputeDerivativeGroupQuadsNV = 5288,
-    FragmentDensityEXT = 5291,
-    ShadingRateNV = 5291,
-    GroupNonUniformPartitionedNV = 5297,
-    ShaderNonUniform = 5301,
-    ShaderNonUniformEXT = 5301,
-    RuntimeDescriptorArray = 5302,
-    RuntimeDescriptorArrayEXT = 5302,
-    InputAttachmentArrayDynamicIndexing = 5303,
-    InputAttachmentArrayDynamicIndexingEXT = 5303,
-    UniformTexelBufferArrayDynamicIndexing = 5304,
-    UniformTexelBufferArrayDynamicIndexingEXT = 5304,
-    StorageTexelBufferArrayDynamicIndexing = 5305,
-    StorageTexelBufferArrayDynamicIndexingEXT = 5305,
-    UniformBufferArrayNonUniformIndexing = 5306,
-    UniformBufferArrayNonUniformIndexingEXT = 5306,
-    SampledImageArrayNonUniformIndexing = 5307,
-    SampledImageArrayNonUniformIndexingEXT = 5307,
-    StorageBufferArrayNonUniformIndexing = 5308,
-    StorageBufferArrayNonUniformIndexingEXT = 5308,
-    StorageImageArrayNonUniformIndexing = 5309,
-    StorageImageArrayNonUniformIndexingEXT = 5309,
-    InputAttachmentArrayNonUniformIndexing = 5310,
-    InputAttachmentArrayNonUniformIndexingEXT = 5310,
-    UniformTexelBufferArrayNonUniformIndexing = 5311,
-    UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
-    StorageTexelBufferArrayNonUniformIndexing = 5312,
-    StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
-    RayTracingNV = 5340,
-    VulkanMemoryModel = 5345,
-    VulkanMemoryModelKHR = 5345,
-    VulkanMemoryModelDeviceScope = 5346,
-    VulkanMemoryModelDeviceScopeKHR = 5346,
-    PhysicalStorageBufferAddresses = 5347,
-    PhysicalStorageBufferAddressesEXT = 5347,
-    ComputeDerivativeGroupLinearNV = 5350,
-    RayTracingProvisionalKHR = 5353,
-    CooperativeMatrixNV = 5357,
-    FragmentShaderSampleInterlockEXT = 5363,
-    FragmentShaderShadingRateInterlockEXT = 5372,
-    ShaderSMBuiltinsNV = 5373,
-    FragmentShaderPixelInterlockEXT = 5378,
-    DemoteToHelperInvocationEXT = 5379,
-    SubgroupShuffleINTEL = 5568,
-    SubgroupBufferBlockIOINTEL = 5569,
-    SubgroupImageBlockIOINTEL = 5570,
-    SubgroupImageMediaBlockIOINTEL = 5579,
-    IntegerFunctions2INTEL = 5584,
-    SubgroupAvcMotionEstimationINTEL = 5696,
-    SubgroupAvcMotionEstimationIntraINTEL = 5697,
-    SubgroupAvcMotionEstimationChromaINTEL = 5698,
-    Max = 0x7fffffff,
-};
-
-enum class RayFlagsShift : unsigned {
-    OpaqueKHR = 0,
-    NoOpaqueKHR = 1,
-    TerminateOnFirstHitKHR = 2,
-    SkipClosestHitShaderKHR = 3,
-    CullBackFacingTrianglesKHR = 4,
-    CullFrontFacingTrianglesKHR = 5,
-    CullOpaqueKHR = 6,
-    CullNoOpaqueKHR = 7,
-    SkipTrianglesKHR = 8,
-    SkipAABBsKHR = 9,
-    Max = 0x7fffffff,
-};
-
-enum class RayFlagsMask : unsigned {
-    MaskNone = 0,
-    OpaqueKHR = 0x00000001,
-    NoOpaqueKHR = 0x00000002,
-    TerminateOnFirstHitKHR = 0x00000004,
-    SkipClosestHitShaderKHR = 0x00000008,
-    CullBackFacingTrianglesKHR = 0x00000010,
-    CullFrontFacingTrianglesKHR = 0x00000020,
-    CullOpaqueKHR = 0x00000040,
-    CullNoOpaqueKHR = 0x00000080,
-    SkipTrianglesKHR = 0x00000100,
-    SkipAABBsKHR = 0x00000200,
-};
-
-enum class RayQueryIntersection : unsigned {
-    RayQueryCandidateIntersectionKHR = 0,
-    RayQueryCommittedIntersectionKHR = 1,
-    Max = 0x7fffffff,
-};
-
-enum class RayQueryCommittedIntersectionType : unsigned {
-    RayQueryCommittedIntersectionNoneKHR = 0,
-    RayQueryCommittedIntersectionTriangleKHR = 1,
-    RayQueryCommittedIntersectionGeneratedKHR = 2,
-    Max = 0x7fffffff,
-};
-
-enum class RayQueryCandidateIntersectionType : unsigned {
-    RayQueryCandidateIntersectionTriangleKHR = 0,
-    RayQueryCandidateIntersectionAABBKHR = 1,
-    Max = 0x7fffffff,
-};
-
-enum class Op : unsigned {
-    OpNop = 0,
-    OpUndef = 1,
-    OpSourceContinued = 2,
-    OpSource = 3,
-    OpSourceExtension = 4,
-    OpName = 5,
-    OpMemberName = 6,
-    OpString = 7,
-    OpLine = 8,
-    OpExtension = 10,
-    OpExtInstImport = 11,
-    OpExtInst = 12,
-    OpMemoryModel = 14,
-    OpEntryPoint = 15,
-    OpExecutionMode = 16,
-    OpCapability = 17,
-    OpTypeVoid = 19,
-    OpTypeBool = 20,
-    OpTypeInt = 21,
-    OpTypeFloat = 22,
-    OpTypeVector = 23,
-    OpTypeMatrix = 24,
-    OpTypeImage = 25,
-    OpTypeSampler = 26,
-    OpTypeSampledImage = 27,
-    OpTypeArray = 28,
-    OpTypeRuntimeArray = 29,
-    OpTypeStruct = 30,
-    OpTypeOpaque = 31,
-    OpTypePointer = 32,
-    OpTypeFunction = 33,
-    OpTypeEvent = 34,
-    OpTypeDeviceEvent = 35,
-    OpTypeReserveId = 36,
-    OpTypeQueue = 37,
-    OpTypePipe = 38,
-    OpTypeForwardPointer = 39,
-    OpConstantTrue = 41,
-    OpConstantFalse = 42,
-    OpConstant = 43,
-    OpConstantComposite = 44,
-    OpConstantSampler = 45,
-    OpConstantNull = 46,
-    OpSpecConstantTrue = 48,
-    OpSpecConstantFalse = 49,
-    OpSpecConstant = 50,
-    OpSpecConstantComposite = 51,
-    OpSpecConstantOp = 52,
-    OpFunction = 54,
-    OpFunctionParameter = 55,
-    OpFunctionEnd = 56,
-    OpFunctionCall = 57,
-    OpVariable = 59,
-    OpImageTexelPointer = 60,
-    OpLoad = 61,
-    OpStore = 62,
-    OpCopyMemory = 63,
-    OpCopyMemorySized = 64,
-    OpAccessChain = 65,
-    OpInBoundsAccessChain = 66,
-    OpPtrAccessChain = 67,
-    OpArrayLength = 68,
-    OpGenericPtrMemSemantics = 69,
-    OpInBoundsPtrAccessChain = 70,
-    OpDecorate = 71,
-    OpMemberDecorate = 72,
-    OpDecorationGroup = 73,
-    OpGroupDecorate = 74,
-    OpGroupMemberDecorate = 75,
-    OpVectorExtractDynamic = 77,
-    OpVectorInsertDynamic = 78,
-    OpVectorShuffle = 79,
-    OpCompositeConstruct = 80,
-    OpCompositeExtract = 81,
-    OpCompositeInsert = 82,
-    OpCopyObject = 83,
-    OpTranspose = 84,
-    OpSampledImage = 86,
-    OpImageSampleImplicitLod = 87,
-    OpImageSampleExplicitLod = 88,
-    OpImageSampleDrefImplicitLod = 89,
-    OpImageSampleDrefExplicitLod = 90,
-    OpImageSampleProjImplicitLod = 91,
-    OpImageSampleProjExplicitLod = 92,
-    OpImageSampleProjDrefImplicitLod = 93,
-    OpImageSampleProjDrefExplicitLod = 94,
-    OpImageFetch = 95,
-    OpImageGather = 96,
-    OpImageDrefGather = 97,
-    OpImageRead = 98,
-    OpImageWrite = 99,
-    OpImage = 100,
-    OpImageQueryFormat = 101,
-    OpImageQueryOrder = 102,
-    OpImageQuerySizeLod = 103,
-    OpImageQuerySize = 104,
-    OpImageQueryLod = 105,
-    OpImageQueryLevels = 106,
-    OpImageQuerySamples = 107,
-    OpConvertFToU = 109,
-    OpConvertFToS = 110,
-    OpConvertSToF = 111,
-    OpConvertUToF = 112,
-    OpUConvert = 113,
-    OpSConvert = 114,
-    OpFConvert = 115,
-    OpQuantizeToF16 = 116,
-    OpConvertPtrToU = 117,
-    OpSatConvertSToU = 118,
-    OpSatConvertUToS = 119,
-    OpConvertUToPtr = 120,
-    OpPtrCastToGeneric = 121,
-    OpGenericCastToPtr = 122,
-    OpGenericCastToPtrExplicit = 123,
-    OpBitcast = 124,
-    OpSNegate = 126,
-    OpFNegate = 127,
-    OpIAdd = 128,
-    OpFAdd = 129,
-    OpISub = 130,
-    OpFSub = 131,
-    OpIMul = 132,
-    OpFMul = 133,
-    OpUDiv = 134,
-    OpSDiv = 135,
-    OpFDiv = 136,
-    OpUMod = 137,
-    OpSRem = 138,
-    OpSMod = 139,
-    OpFRem = 140,
-    OpFMod = 141,
-    OpVectorTimesScalar = 142,
-    OpMatrixTimesScalar = 143,
-    OpVectorTimesMatrix = 144,
-    OpMatrixTimesVector = 145,
-    OpMatrixTimesMatrix = 146,
-    OpOuterProduct = 147,
-    OpDot = 148,
-    OpIAddCarry = 149,
-    OpISubBorrow = 150,
-    OpUMulExtended = 151,
-    OpSMulExtended = 152,
-    OpAny = 154,
-    OpAll = 155,
-    OpIsNan = 156,
-    OpIsInf = 157,
-    OpIsFinite = 158,
-    OpIsNormal = 159,
-    OpSignBitSet = 160,
-    OpLessOrGreater = 161,
-    OpOrdered = 162,
-    OpUnordered = 163,
-    OpLogicalEqual = 164,
-    OpLogicalNotEqual = 165,
-    OpLogicalOr = 166,
-    OpLogicalAnd = 167,
-    OpLogicalNot = 168,
-    OpSelect = 169,
-    OpIEqual = 170,
-    OpINotEqual = 171,
-    OpUGreaterThan = 172,
-    OpSGreaterThan = 173,
-    OpUGreaterThanEqual = 174,
-    OpSGreaterThanEqual = 175,
-    OpULessThan = 176,
-    OpSLessThan = 177,
-    OpULessThanEqual = 178,
-    OpSLessThanEqual = 179,
-    OpFOrdEqual = 180,
-    OpFUnordEqual = 181,
-    OpFOrdNotEqual = 182,
-    OpFUnordNotEqual = 183,
-    OpFOrdLessThan = 184,
-    OpFUnordLessThan = 185,
-    OpFOrdGreaterThan = 186,
-    OpFUnordGreaterThan = 187,
-    OpFOrdLessThanEqual = 188,
-    OpFUnordLessThanEqual = 189,
-    OpFOrdGreaterThanEqual = 190,
-    OpFUnordGreaterThanEqual = 191,
-    OpShiftRightLogical = 194,
-    OpShiftRightArithmetic = 195,
-    OpShiftLeftLogical = 196,
-    OpBitwiseOr = 197,
-    OpBitwiseXor = 198,
-    OpBitwiseAnd = 199,
-    OpNot = 200,
-    OpBitFieldInsert = 201,
-    OpBitFieldSExtract = 202,
-    OpBitFieldUExtract = 203,
-    OpBitReverse = 204,
-    OpBitCount = 205,
-    OpDPdx = 207,
-    OpDPdy = 208,
-    OpFwidth = 209,
-    OpDPdxFine = 210,
-    OpDPdyFine = 211,
-    OpFwidthFine = 212,
-    OpDPdxCoarse = 213,
-    OpDPdyCoarse = 214,
-    OpFwidthCoarse = 215,
-    OpEmitVertex = 218,
-    OpEndPrimitive = 219,
-    OpEmitStreamVertex = 220,
-    OpEndStreamPrimitive = 221,
-    OpControlBarrier = 224,
-    OpMemoryBarrier = 225,
-    OpAtomicLoad = 227,
-    OpAtomicStore = 228,
-    OpAtomicExchange = 229,
-    OpAtomicCompareExchange = 230,
-    OpAtomicCompareExchangeWeak = 231,
-    OpAtomicIIncrement = 232,
-    OpAtomicIDecrement = 233,
-    OpAtomicIAdd = 234,
-    OpAtomicISub = 235,
-    OpAtomicSMin = 236,
-    OpAtomicUMin = 237,
-    OpAtomicSMax = 238,
-    OpAtomicUMax = 239,
-    OpAtomicAnd = 240,
-    OpAtomicOr = 241,
-    OpAtomicXor = 242,
-    OpPhi = 245,
-    OpLoopMerge = 246,
-    OpSelectionMerge = 247,
-    OpLabel = 248,
-    OpBranch = 249,
-    OpBranchConditional = 250,
-    OpSwitch = 251,
-    OpKill = 252,
-    OpReturn = 253,
-    OpReturnValue = 254,
-    OpUnreachable = 255,
-    OpLifetimeStart = 256,
-    OpLifetimeStop = 257,
-    OpGroupAsyncCopy = 259,
-    OpGroupWaitEvents = 260,
-    OpGroupAll = 261,
-    OpGroupAny = 262,
-    OpGroupBroadcast = 263,
-    OpGroupIAdd = 264,
-    OpGroupFAdd = 265,
-    OpGroupFMin = 266,
-    OpGroupUMin = 267,
-    OpGroupSMin = 268,
-    OpGroupFMax = 269,
-    OpGroupUMax = 270,
-    OpGroupSMax = 271,
-    OpReadPipe = 274,
-    OpWritePipe = 275,
-    OpReservedReadPipe = 276,
-    OpReservedWritePipe = 277,
-    OpReserveReadPipePackets = 278,
-    OpReserveWritePipePackets = 279,
-    OpCommitReadPipe = 280,
-    OpCommitWritePipe = 281,
-    OpIsValidReserveId = 282,
-    OpGetNumPipePackets = 283,
-    OpGetMaxPipePackets = 284,
-    OpGroupReserveReadPipePackets = 285,
-    OpGroupReserveWritePipePackets = 286,
-    OpGroupCommitReadPipe = 287,
-    OpGroupCommitWritePipe = 288,
-    OpEnqueueMarker = 291,
-    OpEnqueueKernel = 292,
-    OpGetKernelNDrangeSubGroupCount = 293,
-    OpGetKernelNDrangeMaxSubGroupSize = 294,
-    OpGetKernelWorkGroupSize = 295,
-    OpGetKernelPreferredWorkGroupSizeMultiple = 296,
-    OpRetainEvent = 297,
-    OpReleaseEvent = 298,
-    OpCreateUserEvent = 299,
-    OpIsValidEvent = 300,
-    OpSetUserEventStatus = 301,
-    OpCaptureEventProfilingInfo = 302,
-    OpGetDefaultQueue = 303,
-    OpBuildNDRange = 304,
-    OpImageSparseSampleImplicitLod = 305,
-    OpImageSparseSampleExplicitLod = 306,
-    OpImageSparseSampleDrefImplicitLod = 307,
-    OpImageSparseSampleDrefExplicitLod = 308,
-    OpImageSparseSampleProjImplicitLod = 309,
-    OpImageSparseSampleProjExplicitLod = 310,
-    OpImageSparseSampleProjDrefImplicitLod = 311,
-    OpImageSparseSampleProjDrefExplicitLod = 312,
-    OpImageSparseFetch = 313,
-    OpImageSparseGather = 314,
-    OpImageSparseDrefGather = 315,
-    OpImageSparseTexelsResident = 316,
-    OpNoLine = 317,
-    OpAtomicFlagTestAndSet = 318,
-    OpAtomicFlagClear = 319,
-    OpImageSparseRead = 320,
-    OpSizeOf = 321,
-    OpTypePipeStorage = 322,
-    OpConstantPipeStorage = 323,
-    OpCreatePipeFromPipeStorage = 324,
-    OpGetKernelLocalSizeForSubgroupCount = 325,
-    OpGetKernelMaxNumSubgroups = 326,
-    OpTypeNamedBarrier = 327,
-    OpNamedBarrierInitialize = 328,
-    OpMemoryNamedBarrier = 329,
-    OpModuleProcessed = 330,
-    OpExecutionModeId = 331,
-    OpDecorateId = 332,
-    OpGroupNonUniformElect = 333,
-    OpGroupNonUniformAll = 334,
-    OpGroupNonUniformAny = 335,
-    OpGroupNonUniformAllEqual = 336,
-    OpGroupNonUniformBroadcast = 337,
-    OpGroupNonUniformBroadcastFirst = 338,
-    OpGroupNonUniformBallot = 339,
-    OpGroupNonUniformInverseBallot = 340,
-    OpGroupNonUniformBallotBitExtract = 341,
-    OpGroupNonUniformBallotBitCount = 342,
-    OpGroupNonUniformBallotFindLSB = 343,
-    OpGroupNonUniformBallotFindMSB = 344,
-    OpGroupNonUniformShuffle = 345,
-    OpGroupNonUniformShuffleXor = 346,
-    OpGroupNonUniformShuffleUp = 347,
-    OpGroupNonUniformShuffleDown = 348,
-    OpGroupNonUniformIAdd = 349,
-    OpGroupNonUniformFAdd = 350,
-    OpGroupNonUniformIMul = 351,
-    OpGroupNonUniformFMul = 352,
-    OpGroupNonUniformSMin = 353,
-    OpGroupNonUniformUMin = 354,
-    OpGroupNonUniformFMin = 355,
-    OpGroupNonUniformSMax = 356,
-    OpGroupNonUniformUMax = 357,
-    OpGroupNonUniformFMax = 358,
-    OpGroupNonUniformBitwiseAnd = 359,
-    OpGroupNonUniformBitwiseOr = 360,
-    OpGroupNonUniformBitwiseXor = 361,
-    OpGroupNonUniformLogicalAnd = 362,
-    OpGroupNonUniformLogicalOr = 363,
-    OpGroupNonUniformLogicalXor = 364,
-    OpGroupNonUniformQuadBroadcast = 365,
-    OpGroupNonUniformQuadSwap = 366,
-    OpCopyLogical = 400,
-    OpPtrEqual = 401,
-    OpPtrNotEqual = 402,
-    OpPtrDiff = 403,
-    OpSubgroupBallotKHR = 4421,
-    OpSubgroupFirstInvocationKHR = 4422,
-    OpSubgroupAllKHR = 4428,
-    OpSubgroupAnyKHR = 4429,
-    OpSubgroupAllEqualKHR = 4430,
-    OpSubgroupReadInvocationKHR = 4432,
-    OpTypeRayQueryProvisionalKHR = 4472,
-    OpRayQueryInitializeKHR = 4473,
-    OpRayQueryTerminateKHR = 4474,
-    OpRayQueryGenerateIntersectionKHR = 4475,
-    OpRayQueryConfirmIntersectionKHR = 4476,
-    OpRayQueryProceedKHR = 4477,
-    OpRayQueryGetIntersectionTypeKHR = 4479,
-    OpGroupIAddNonUniformAMD = 5000,
-    OpGroupFAddNonUniformAMD = 5001,
-    OpGroupFMinNonUniformAMD = 5002,
-    OpGroupUMinNonUniformAMD = 5003,
-    OpGroupSMinNonUniformAMD = 5004,
-    OpGroupFMaxNonUniformAMD = 5005,
-    OpGroupUMaxNonUniformAMD = 5006,
-    OpGroupSMaxNonUniformAMD = 5007,
-    OpFragmentMaskFetchAMD = 5011,
-    OpFragmentFetchAMD = 5012,
-    OpReadClockKHR = 5056,
-    OpImageSampleFootprintNV = 5283,
-    OpGroupNonUniformPartitionNV = 5296,
-    OpWritePackedPrimitiveIndices4x8NV = 5299,
-    OpReportIntersectionKHR = 5334,
-    OpReportIntersectionNV = 5334,
-    OpIgnoreIntersectionKHR = 5335,
-    OpIgnoreIntersectionNV = 5335,
-    OpTerminateRayKHR = 5336,
-    OpTerminateRayNV = 5336,
-    OpTraceNV = 5337,
-    OpTraceRayKHR = 5337,
-    OpTypeAccelerationStructureKHR = 5341,
-    OpTypeAccelerationStructureNV = 5341,
-    OpExecuteCallableKHR = 5344,
-    OpExecuteCallableNV = 5344,
-    OpTypeCooperativeMatrixNV = 5358,
-    OpCooperativeMatrixLoadNV = 5359,
-    OpCooperativeMatrixStoreNV = 5360,
-    OpCooperativeMatrixMulAddNV = 5361,
-    OpCooperativeMatrixLengthNV = 5362,
-    OpBeginInvocationInterlockEXT = 5364,
-    OpEndInvocationInterlockEXT = 5365,
-    OpDemoteToHelperInvocationEXT = 5380,
-    OpIsHelperInvocationEXT = 5381,
-    OpSubgroupShuffleINTEL = 5571,
-    OpSubgroupShuffleDownINTEL = 5572,
-    OpSubgroupShuffleUpINTEL = 5573,
-    OpSubgroupShuffleXorINTEL = 5574,
-    OpSubgroupBlockReadINTEL = 5575,
-    OpSubgroupBlockWriteINTEL = 5576,
-    OpSubgroupImageBlockReadINTEL = 5577,
-    OpSubgroupImageBlockWriteINTEL = 5578,
-    OpSubgroupImageMediaBlockReadINTEL = 5580,
-    OpSubgroupImageMediaBlockWriteINTEL = 5581,
-    OpUCountLeadingZerosINTEL = 5585,
-    OpUCountTrailingZerosINTEL = 5586,
-    OpAbsISubINTEL = 5587,
-    OpAbsUSubINTEL = 5588,
-    OpIAddSatINTEL = 5589,
-    OpUAddSatINTEL = 5590,
-    OpIAverageINTEL = 5591,
-    OpUAverageINTEL = 5592,
-    OpIAverageRoundedINTEL = 5593,
-    OpUAverageRoundedINTEL = 5594,
-    OpISubSatINTEL = 5595,
-    OpUSubSatINTEL = 5596,
-    OpIMul32x16INTEL = 5597,
-    OpUMul32x16INTEL = 5598,
-    OpDecorateString = 5632,
-    OpDecorateStringGOOGLE = 5632,
-    OpMemberDecorateString = 5633,
-    OpMemberDecorateStringGOOGLE = 5633,
-    OpVmeImageINTEL = 5699,
-    OpTypeVmeImageINTEL = 5700,
-    OpTypeAvcImePayloadINTEL = 5701,
-    OpTypeAvcRefPayloadINTEL = 5702,
-    OpTypeAvcSicPayloadINTEL = 5703,
-    OpTypeAvcMcePayloadINTEL = 5704,
-    OpTypeAvcMceResultINTEL = 5705,
-    OpTypeAvcImeResultINTEL = 5706,
-    OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
-    OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
-    OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
-    OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
-    OpTypeAvcRefResultINTEL = 5711,
-    OpTypeAvcSicResultINTEL = 5712,
-    OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
-    OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
-    OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
-    OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
-    OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
-    OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
-    OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
-    OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
-    OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
-    OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
-    OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
-    OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
-    OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
-    OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
-    OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
-    OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
-    OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
-    OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
-    OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
-    OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
-    OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
-    OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
-    OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
-    OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
-    OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
-    OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
-    OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
-    OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
-    OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
-    OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
-    OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
-    OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
-    OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
-    OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
-    OpSubgroupAvcImeInitializeINTEL = 5747,
-    OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
-    OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
-    OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
-    OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
-    OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
-    OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
-    OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
-    OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
-    OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
-    OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
-    OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
-    OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
-    OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
-    OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
-    OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
-    OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
-    OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
-    OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
-    OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
-    OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
-    OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
-    OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
-    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
-    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
-    OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
-    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
-    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
-    OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
-    OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
-    OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
-    OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
-    OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
-    OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
-    OpSubgroupAvcFmeInitializeINTEL = 5781,
-    OpSubgroupAvcBmeInitializeINTEL = 5782,
-    OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
-    OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
-    OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
-    OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
-    OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
-    OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
-    OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
-    OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
-    OpSubgroupAvcSicInitializeINTEL = 5791,
-    OpSubgroupAvcSicConfigureSkcINTEL = 5792,
-    OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
-    OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
-    OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
-    OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
-    OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
-    OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
-    OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
-    OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
-    OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
-    OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
-    OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
-    OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
-    OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
-    OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
-    OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
-    OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
-    OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
-    OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
-    OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
-    OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
-    OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
-    OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
-    OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
-    OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
-    OpRayQueryGetRayTMinKHR = 6016,
-    OpRayQueryGetRayFlagsKHR = 6017,
-    OpRayQueryGetIntersectionTKHR = 6018,
-    OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
-    OpRayQueryGetIntersectionInstanceIdKHR = 6020,
-    OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
-    OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
-    OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
-    OpRayQueryGetIntersectionBarycentricsKHR = 6024,
-    OpRayQueryGetIntersectionFrontFaceKHR = 6025,
-    OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
-    OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
-    OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
-    OpRayQueryGetWorldRayDirectionKHR = 6029,
-    OpRayQueryGetWorldRayOriginKHR = 6030,
-    OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
-    OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
-    Max = 0x7fffffff,
-};
-
-#ifdef SPV_ENABLE_UTILITY_CODE
-inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
-    *hasResult = *hasResultType = false;
-    switch (opcode) {
-    default: /* unknown opcode */ break;
-    case Op::OpNop: *hasResult = false; *hasResultType = false; break;
-    case Op::OpUndef: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSourceContinued: *hasResult = false; *hasResultType = false; break;
-    case Op::OpSource: *hasResult = false; *hasResultType = false; break;
-    case Op::OpSourceExtension: *hasResult = false; *hasResultType = false; break;
-    case Op::OpName: *hasResult = false; *hasResultType = false; break;
-    case Op::OpMemberName: *hasResult = false; *hasResultType = false; break;
-    case Op::OpString: *hasResult = true; *hasResultType = false; break;
-    case Op::OpLine: *hasResult = false; *hasResultType = false; break;
-    case Op::OpExtension: *hasResult = false; *hasResultType = false; break;
-    case Op::OpExtInstImport: *hasResult = true; *hasResultType = false; break;
-    case Op::OpExtInst: *hasResult = true; *hasResultType = true; break;
-    case Op::OpMemoryModel: *hasResult = false; *hasResultType = false; break;
-    case Op::OpEntryPoint: *hasResult = false; *hasResultType = false; break;
-    case Op::OpExecutionMode: *hasResult = false; *hasResultType = false; break;
-    case Op::OpCapability: *hasResult = false; *hasResultType = false; break;
-    case Op::OpTypeVoid: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeBool: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeInt: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeFloat: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeVector: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeImage: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeSampler: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeArray: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeStruct: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypePointer: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeFunction: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeEvent: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeQueue: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypePipe: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
-    case Op::OpConstantTrue: *hasResult = true; *hasResultType = true; break;
-    case Op::OpConstantFalse: *hasResult = true; *hasResultType = true; break;
-    case Op::OpConstant: *hasResult = true; *hasResultType = true; break;
-    case Op::OpConstantComposite: *hasResult = true; *hasResultType = true; break;
-    case Op::OpConstantSampler: *hasResult = true; *hasResultType = true; break;
-    case Op::OpConstantNull: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSpecConstant: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFunction: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
-    case Op::OpFunctionCall: *hasResult = true; *hasResultType = true; break;
-    case Op::OpVariable: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
-    case Op::OpLoad: *hasResult = true; *hasResultType = true; break;
-    case Op::OpStore: *hasResult = false; *hasResultType = false; break;
-    case Op::OpCopyMemory: *hasResult = false; *hasResultType = false; break;
-    case Op::OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
-    case Op::OpAccessChain: *hasResult = true; *hasResultType = true; break;
-    case Op::OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
-    case Op::OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
-    case Op::OpArrayLength: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
-    case Op::OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
-    case Op::OpDecorate: *hasResult = false; *hasResultType = false; break;
-    case Op::OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
-    case Op::OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
-    case Op::OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
-    case Op::OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
-    case Op::OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
-    case Op::OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
-    case Op::OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
-    case Op::OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
-    case Op::OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
-    case Op::OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
-    case Op::OpCopyObject: *hasResult = true; *hasResultType = true; break;
-    case Op::OpTranspose: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSampledImage: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageFetch: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageGather: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageRead: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageWrite: *hasResult = false; *hasResultType = false; break;
-    case Op::OpImage: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
-    case Op::OpConvertFToU: *hasResult = true; *hasResultType = true; break;
-    case Op::OpConvertFToS: *hasResult = true; *hasResultType = true; break;
-    case Op::OpConvertSToF: *hasResult = true; *hasResultType = true; break;
-    case Op::OpConvertUToF: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUConvert: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSConvert: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFConvert: *hasResult = true; *hasResultType = true; break;
-    case Op::OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
-    case Op::OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
-    case Op::OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
-    case Op::OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
-    case Op::OpBitcast: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSNegate: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFNegate: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIAdd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFAdd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpISub: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFSub: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIMul: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFMul: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUDiv: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSDiv: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFDiv: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUMod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSRem: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSMod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFRem: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFMod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
-    case Op::OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
-    case Op::OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
-    case Op::OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
-    case Op::OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
-    case Op::OpOuterProduct: *hasResult = true; *hasResultType = true; break;
-    case Op::OpDot: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIAddCarry: *hasResult = true; *hasResultType = true; break;
-    case Op::OpISubBorrow: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUMulExtended: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSMulExtended: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAny: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAll: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIsNan: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIsInf: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIsFinite: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIsNormal: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSignBitSet: *hasResult = true; *hasResultType = true; break;
-    case Op::OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
-    case Op::OpOrdered: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUnordered: *hasResult = true; *hasResultType = true; break;
-    case Op::OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpLogicalOr: *hasResult = true; *hasResultType = true; break;
-    case Op::OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpLogicalNot: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSelect: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpINotEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpULessThan: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSLessThan: *hasResult = true; *hasResultType = true; break;
-    case Op::OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
-    case Op::OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
-    case Op::OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
-    case Op::OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
-    case Op::OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
-    case Op::OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpNot: *hasResult = true; *hasResultType = true; break;
-    case Op::OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
-    case Op::OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
-    case Op::OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
-    case Op::OpBitReverse: *hasResult = true; *hasResultType = true; break;
-    case Op::OpBitCount: *hasResult = true; *hasResultType = true; break;
-    case Op::OpDPdx: *hasResult = true; *hasResultType = true; break;
-    case Op::OpDPdy: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFwidth: *hasResult = true; *hasResultType = true; break;
-    case Op::OpDPdxFine: *hasResult = true; *hasResultType = true; break;
-    case Op::OpDPdyFine: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFwidthFine: *hasResult = true; *hasResultType = true; break;
-    case Op::OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
-    case Op::OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
-    case Op::OpEmitVertex: *hasResult = false; *hasResultType = false; break;
-    case Op::OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
-    case Op::OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
-    case Op::OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
-    case Op::OpControlBarrier: *hasResult = false; *hasResultType = false; break;
-    case Op::OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
-    case Op::OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicStore: *hasResult = false; *hasResultType = false; break;
-    case Op::OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicISub: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicOr: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicXor: *hasResult = true; *hasResultType = true; break;
-    case Op::OpPhi: *hasResult = true; *hasResultType = true; break;
-    case Op::OpLoopMerge: *hasResult = false; *hasResultType = false; break;
-    case Op::OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
-    case Op::OpLabel: *hasResult = true; *hasResultType = false; break;
-    case Op::OpBranch: *hasResult = false; *hasResultType = false; break;
-    case Op::OpBranchConditional: *hasResult = false; *hasResultType = false; break;
-    case Op::OpSwitch: *hasResult = false; *hasResultType = false; break;
-    case Op::OpKill: *hasResult = false; *hasResultType = false; break;
-    case Op::OpReturn: *hasResult = false; *hasResultType = false; break;
-    case Op::OpReturnValue: *hasResult = false; *hasResultType = false; break;
-    case Op::OpUnreachable: *hasResult = false; *hasResultType = false; break;
-    case Op::OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
-    case Op::OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
-    case Op::OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
-    case Op::OpGroupAll: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupAny: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupFMin: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupUMin: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupSMin: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupFMax: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupUMax: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupSMax: *hasResult = true; *hasResultType = true; break;
-    case Op::OpReadPipe: *hasResult = true; *hasResultType = true; break;
-    case Op::OpWritePipe: *hasResult = true; *hasResultType = true; break;
-    case Op::OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
-    case Op::OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
-    case Op::OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
-    case Op::OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
-    case Op::OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
-    case Op::OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
-    case Op::OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
-    case Op::OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
-    case Op::OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
-    case Op::OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRetainEvent: *hasResult = false; *hasResultType = false; break;
-    case Op::OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
-    case Op::OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
-    case Op::OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
-    case Op::OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
-    case Op::OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
-    case Op::OpNoLine: *hasResult = false; *hasResultType = false; break;
-    case Op::OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
-    case Op::OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSizeOf: *hasResult = true; *hasResultType = true; break;
-    case Op::OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
-    case Op::OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
-    case Op::OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
-    case Op::OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
-    case Op::OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
-    case Op::OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
-    case Op::OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
-    case Op::OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
-    case Op::OpDecorateId: *hasResult = false; *hasResultType = false; break;
-    case Op::OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
-    case Op::OpCopyLogical: *hasResult = true; *hasResultType = true; break;
-    case Op::OpPtrEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
-    case Op::OpPtrDiff: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
-    case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
-    case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
-    case Op::OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
-    case Op::OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
-    case Op::OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
-    case Op::OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
-    case Op::OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
-    case Op::OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
-    case Op::OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
-    case Op::OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
-    case Op::OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
-    case Op::OpTraceNV: *hasResult = false; *hasResultType = false; break;
-    case Op::OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
-    case Op::OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
-    case Op::OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
-    case Op::OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
-    case Op::OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
-    case Op::OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
-    case Op::OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
-    case Op::OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
-    case Op::OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
-    case Op::OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
-    case Op::OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
-    case Op::OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
-    case Op::OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
-    case Op::OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpDecorateString: *hasResult = false; *hasResultType = false; break;
-    case Op::OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
-    case Op::OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
-    case Op::OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
-    case Op::OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
-    }
-}
-#endif /* SPV_ENABLE_UTILITY_CODE */
-
-// Overload operator| for mask bit combining
-
-inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
-inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
-inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
-inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
-inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
-inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
-inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
-inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
-inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
-
-}  // end namespace spv
-
-#endif  // #ifndef spirv_HPP
-
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
deleted file mode 100644
index 364f219..0000000
--- a/include/spirv/unified1/spirv.json
+++ /dev/null
@@ -1,1543 +0,0 @@
-{
-    "spv":
-    {
-        "meta":
-        {
-            "Comment":
-            [
-                [
-                    "Copyright (c) 2014-2020 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\"),",
-                    "to deal in the Materials without restriction, including without limitation",
-                    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
-                    "and/or sell copies of the Materials, and to permit persons to whom the",
-                    "Materials are furnished to do so, subject to the following conditions:",
-                    "",
-                    "The above copyright notice and this permission notice shall be included in",
-                    "all copies or substantial portions of the Materials.",
-                    "",
-                    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
-                    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
-                    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
-                    "",
-                    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
-                    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
-                    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
-                    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
-                    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
-                    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
-                    "IN THE MATERIALS."
-                ],
-                [
-                    "This header is automatically generated by the same tool that creates",
-                    "the Binary Section of the SPIR-V specification."
-                ],
-                [
-                    "Enumeration tokens for SPIR-V, in various styles:",
-                    "  C, C++, C++11, JSON, Lua, Python, C#, D",
-                    "",
-                    "- C will have tokens with a \"Spv\" prefix, e.g.: SpvSourceLanguageGLSL",
-                    "- C++ will have tokens in the \"spv\" name space, e.g.: spv::SourceLanguageGLSL",
-                    "- C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL",
-                    "- Lua will use tables, e.g.: spv.SourceLanguage.GLSL",
-                    "- Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']",
-                    "- C# will use enum classes in the Specification class located in the \"Spv\" namespace,",
-                    "    e.g.: Spv.Specification.SourceLanguage.GLSL",
-                    "- D will have tokens under the \"spv\" module, e.g: spv.SourceLanguage.GLSL",
-                    "",
-                    "Some tokens act like mask values, which can be OR'd together,",
-                    "while others are mutually exclusive.  The mask-like ones have",
-                    "\"Mask\" in their name, and a parallel enum that has the shift",
-                    "amount (1 << x) for each corresponding enumerant."
-                ]
-            ],
-            "MagicNumber": 119734787,
-            "Version": 66816,
-            "Revision": 3,
-            "OpCodeMask": 65535,
-            "WordCountShift": 16
-        },
-        "enum":
-        [
-            {
-                "Name": "SourceLanguage",
-                "Type": "Value",
-                "Values":
-                {
-                    "Unknown": 0,
-                    "ESSL": 1,
-                    "GLSL": 2,
-                    "OpenCL_C": 3,
-                    "OpenCL_CPP": 4,
-                    "HLSL": 5
-                }
-            },
-            {
-                "Name": "ExecutionModel",
-                "Type": "Value",
-                "Values":
-                {
-                    "Vertex": 0,
-                    "TessellationControl": 1,
-                    "TessellationEvaluation": 2,
-                    "Geometry": 3,
-                    "Fragment": 4,
-                    "GLCompute": 5,
-                    "Kernel": 6,
-                    "TaskNV": 5267,
-                    "MeshNV": 5268,
-                    "RayGenerationKHR": 5313,
-                    "RayGenerationNV": 5313,
-                    "IntersectionKHR": 5314,
-                    "IntersectionNV": 5314,
-                    "AnyHitKHR": 5315,
-                    "AnyHitNV": 5315,
-                    "ClosestHitKHR": 5316,
-                    "ClosestHitNV": 5316,
-                    "MissKHR": 5317,
-                    "MissNV": 5317,
-                    "CallableKHR": 5318,
-                    "CallableNV": 5318
-                }
-            },
-            {
-                "Name": "AddressingModel",
-                "Type": "Value",
-                "Values":
-                {
-                    "Logical": 0,
-                    "Physical32": 1,
-                    "Physical64": 2,
-                    "PhysicalStorageBuffer64": 5348,
-                    "PhysicalStorageBuffer64EXT": 5348
-                }
-            },
-            {
-                "Name": "MemoryModel",
-                "Type": "Value",
-                "Values":
-                {
-                    "Simple": 0,
-                    "GLSL450": 1,
-                    "OpenCL": 2,
-                    "Vulkan": 3,
-                    "VulkanKHR": 3
-                }
-            },
-            {
-                "Name": "ExecutionMode",
-                "Type": "Value",
-                "Values":
-                {
-                    "Invocations": 0,
-                    "SpacingEqual": 1,
-                    "SpacingFractionalEven": 2,
-                    "SpacingFractionalOdd": 3,
-                    "VertexOrderCw": 4,
-                    "VertexOrderCcw": 5,
-                    "PixelCenterInteger": 6,
-                    "OriginUpperLeft": 7,
-                    "OriginLowerLeft": 8,
-                    "EarlyFragmentTests": 9,
-                    "PointMode": 10,
-                    "Xfb": 11,
-                    "DepthReplacing": 12,
-                    "DepthGreater": 14,
-                    "DepthLess": 15,
-                    "DepthUnchanged": 16,
-                    "LocalSize": 17,
-                    "LocalSizeHint": 18,
-                    "InputPoints": 19,
-                    "InputLines": 20,
-                    "InputLinesAdjacency": 21,
-                    "Triangles": 22,
-                    "InputTrianglesAdjacency": 23,
-                    "Quads": 24,
-                    "Isolines": 25,
-                    "OutputVertices": 26,
-                    "OutputPoints": 27,
-                    "OutputLineStrip": 28,
-                    "OutputTriangleStrip": 29,
-                    "VecTypeHint": 30,
-                    "ContractionOff": 31,
-                    "Initializer": 33,
-                    "Finalizer": 34,
-                    "SubgroupSize": 35,
-                    "SubgroupsPerWorkgroup": 36,
-                    "SubgroupsPerWorkgroupId": 37,
-                    "LocalSizeId": 38,
-                    "LocalSizeHintId": 39,
-                    "PostDepthCoverage": 4446,
-                    "DenormPreserve": 4459,
-                    "DenormFlushToZero": 4460,
-                    "SignedZeroInfNanPreserve": 4461,
-                    "RoundingModeRTE": 4462,
-                    "RoundingModeRTZ": 4463,
-                    "StencilRefReplacingEXT": 5027,
-                    "OutputLinesNV": 5269,
-                    "OutputPrimitivesNV": 5270,
-                    "DerivativeGroupQuadsNV": 5289,
-                    "DerivativeGroupLinearNV": 5290,
-                    "OutputTrianglesNV": 5298,
-                    "PixelInterlockOrderedEXT": 5366,
-                    "PixelInterlockUnorderedEXT": 5367,
-                    "SampleInterlockOrderedEXT": 5368,
-                    "SampleInterlockUnorderedEXT": 5369,
-                    "ShadingRateInterlockOrderedEXT": 5370,
-                    "ShadingRateInterlockUnorderedEXT": 5371
-                }
-            },
-            {
-                "Name": "StorageClass",
-                "Type": "Value",
-                "Values":
-                {
-                    "UniformConstant": 0,
-                    "Input": 1,
-                    "Uniform": 2,
-                    "Output": 3,
-                    "Workgroup": 4,
-                    "CrossWorkgroup": 5,
-                    "Private": 6,
-                    "Function": 7,
-                    "Generic": 8,
-                    "PushConstant": 9,
-                    "AtomicCounter": 10,
-                    "Image": 11,
-                    "StorageBuffer": 12,
-                    "CallableDataKHR": 5328,
-                    "CallableDataNV": 5328,
-                    "IncomingCallableDataKHR": 5329,
-                    "IncomingCallableDataNV": 5329,
-                    "RayPayloadKHR": 5338,
-                    "RayPayloadNV": 5338,
-                    "HitAttributeKHR": 5339,
-                    "HitAttributeNV": 5339,
-                    "IncomingRayPayloadKHR": 5342,
-                    "IncomingRayPayloadNV": 5342,
-                    "ShaderRecordBufferKHR": 5343,
-                    "ShaderRecordBufferNV": 5343,
-                    "PhysicalStorageBuffer": 5349,
-                    "PhysicalStorageBufferEXT": 5349
-                }
-            },
-            {
-                "Name": "Dim",
-                "Type": "Value",
-                "Values":
-                {
-                    "Dim1D": 0,
-                    "Dim2D": 1,
-                    "Dim3D": 2,
-                    "Cube": 3,
-                    "Rect": 4,
-                    "Buffer": 5,
-                    "SubpassData": 6
-                }
-            },
-            {
-                "Name": "SamplerAddressingMode",
-                "Type": "Value",
-                "Values":
-                {
-                    "None": 0,
-                    "ClampToEdge": 1,
-                    "Clamp": 2,
-                    "Repeat": 3,
-                    "RepeatMirrored": 4
-                }
-            },
-            {
-                "Name": "SamplerFilterMode",
-                "Type": "Value",
-                "Values":
-                {
-                    "Nearest": 0,
-                    "Linear": 1
-                }
-            },
-            {
-                "Name": "ImageFormat",
-                "Type": "Value",
-                "Values":
-                {
-                    "Unknown": 0,
-                    "Rgba32f": 1,
-                    "Rgba16f": 2,
-                    "R32f": 3,
-                    "Rgba8": 4,
-                    "Rgba8Snorm": 5,
-                    "Rg32f": 6,
-                    "Rg16f": 7,
-                    "R11fG11fB10f": 8,
-                    "R16f": 9,
-                    "Rgba16": 10,
-                    "Rgb10A2": 11,
-                    "Rg16": 12,
-                    "Rg8": 13,
-                    "R16": 14,
-                    "R8": 15,
-                    "Rgba16Snorm": 16,
-                    "Rg16Snorm": 17,
-                    "Rg8Snorm": 18,
-                    "R16Snorm": 19,
-                    "R8Snorm": 20,
-                    "Rgba32i": 21,
-                    "Rgba16i": 22,
-                    "Rgba8i": 23,
-                    "R32i": 24,
-                    "Rg32i": 25,
-                    "Rg16i": 26,
-                    "Rg8i": 27,
-                    "R16i": 28,
-                    "R8i": 29,
-                    "Rgba32ui": 30,
-                    "Rgba16ui": 31,
-                    "Rgba8ui": 32,
-                    "R32ui": 33,
-                    "Rgb10a2ui": 34,
-                    "Rg32ui": 35,
-                    "Rg16ui": 36,
-                    "Rg8ui": 37,
-                    "R16ui": 38,
-                    "R8ui": 39
-                }
-            },
-            {
-                "Name": "ImageChannelOrder",
-                "Type": "Value",
-                "Values":
-                {
-                    "R": 0,
-                    "A": 1,
-                    "RG": 2,
-                    "RA": 3,
-                    "RGB": 4,
-                    "RGBA": 5,
-                    "BGRA": 6,
-                    "ARGB": 7,
-                    "Intensity": 8,
-                    "Luminance": 9,
-                    "Rx": 10,
-                    "RGx": 11,
-                    "RGBx": 12,
-                    "Depth": 13,
-                    "DepthStencil": 14,
-                    "sRGB": 15,
-                    "sRGBx": 16,
-                    "sRGBA": 17,
-                    "sBGRA": 18,
-                    "ABGR": 19
-                }
-            },
-            {
-                "Name": "ImageChannelDataType",
-                "Type": "Value",
-                "Values":
-                {
-                    "SnormInt8": 0,
-                    "SnormInt16": 1,
-                    "UnormInt8": 2,
-                    "UnormInt16": 3,
-                    "UnormShort565": 4,
-                    "UnormShort555": 5,
-                    "UnormInt101010": 6,
-                    "SignedInt8": 7,
-                    "SignedInt16": 8,
-                    "SignedInt32": 9,
-                    "UnsignedInt8": 10,
-                    "UnsignedInt16": 11,
-                    "UnsignedInt32": 12,
-                    "HalfFloat": 13,
-                    "Float": 14,
-                    "UnormInt24": 15,
-                    "UnormInt101010_2": 16
-                }
-            },
-            {
-                "Name": "ImageOperands",
-                "Type": "Bit",
-                "Values":
-                {
-                    "Bias": 0,
-                    "Lod": 1,
-                    "Grad": 2,
-                    "ConstOffset": 3,
-                    "Offset": 4,
-                    "ConstOffsets": 5,
-                    "Sample": 6,
-                    "MinLod": 7,
-                    "MakeTexelAvailable": 8,
-                    "MakeTexelAvailableKHR": 8,
-                    "MakeTexelVisible": 9,
-                    "MakeTexelVisibleKHR": 9,
-                    "NonPrivateTexel": 10,
-                    "NonPrivateTexelKHR": 10,
-                    "VolatileTexel": 11,
-                    "VolatileTexelKHR": 11,
-                    "SignExtend": 12,
-                    "ZeroExtend": 13
-                }
-            },
-            {
-                "Name": "FPFastMathMode",
-                "Type": "Bit",
-                "Values":
-                {
-                    "NotNaN": 0,
-                    "NotInf": 1,
-                    "NSZ": 2,
-                    "AllowRecip": 3,
-                    "Fast": 4
-                }
-            },
-            {
-                "Name": "FPRoundingMode",
-                "Type": "Value",
-                "Values":
-                {
-                    "RTE": 0,
-                    "RTZ": 1,
-                    "RTP": 2,
-                    "RTN": 3
-                }
-            },
-            {
-                "Name": "LinkageType",
-                "Type": "Value",
-                "Values":
-                {
-                    "Export": 0,
-                    "Import": 1
-                }
-            },
-            {
-                "Name": "AccessQualifier",
-                "Type": "Value",
-                "Values":
-                {
-                    "ReadOnly": 0,
-                    "WriteOnly": 1,
-                    "ReadWrite": 2
-                }
-            },
-            {
-                "Name": "FunctionParameterAttribute",
-                "Type": "Value",
-                "Values":
-                {
-                    "Zext": 0,
-                    "Sext": 1,
-                    "ByVal": 2,
-                    "Sret": 3,
-                    "NoAlias": 4,
-                    "NoCapture": 5,
-                    "NoWrite": 6,
-                    "NoReadWrite": 7
-                }
-            },
-            {
-                "Name": "Decoration",
-                "Type": "Value",
-                "Values":
-                {
-                    "RelaxedPrecision": 0,
-                    "SpecId": 1,
-                    "Block": 2,
-                    "BufferBlock": 3,
-                    "RowMajor": 4,
-                    "ColMajor": 5,
-                    "ArrayStride": 6,
-                    "MatrixStride": 7,
-                    "GLSLShared": 8,
-                    "GLSLPacked": 9,
-                    "CPacked": 10,
-                    "BuiltIn": 11,
-                    "NoPerspective": 13,
-                    "Flat": 14,
-                    "Patch": 15,
-                    "Centroid": 16,
-                    "Sample": 17,
-                    "Invariant": 18,
-                    "Restrict": 19,
-                    "Aliased": 20,
-                    "Volatile": 21,
-                    "Constant": 22,
-                    "Coherent": 23,
-                    "NonWritable": 24,
-                    "NonReadable": 25,
-                    "Uniform": 26,
-                    "UniformId": 27,
-                    "SaturatedConversion": 28,
-                    "Stream": 29,
-                    "Location": 30,
-                    "Component": 31,
-                    "Index": 32,
-                    "Binding": 33,
-                    "DescriptorSet": 34,
-                    "Offset": 35,
-                    "XfbBuffer": 36,
-                    "XfbStride": 37,
-                    "FuncParamAttr": 38,
-                    "FPRoundingMode": 39,
-                    "FPFastMathMode": 40,
-                    "LinkageAttributes": 41,
-                    "NoContraction": 42,
-                    "InputAttachmentIndex": 43,
-                    "Alignment": 44,
-                    "MaxByteOffset": 45,
-                    "AlignmentId": 46,
-                    "MaxByteOffsetId": 47,
-                    "NoSignedWrap": 4469,
-                    "NoUnsignedWrap": 4470,
-                    "ExplicitInterpAMD": 4999,
-                    "OverrideCoverageNV": 5248,
-                    "PassthroughNV": 5250,
-                    "ViewportRelativeNV": 5252,
-                    "SecondaryViewportRelativeNV": 5256,
-                    "PerPrimitiveNV": 5271,
-                    "PerViewNV": 5272,
-                    "PerTaskNV": 5273,
-                    "PerVertexNV": 5285,
-                    "NonUniform": 5300,
-                    "NonUniformEXT": 5300,
-                    "RestrictPointer": 5355,
-                    "RestrictPointerEXT": 5355,
-                    "AliasedPointer": 5356,
-                    "AliasedPointerEXT": 5356,
-                    "CounterBuffer": 5634,
-                    "HlslCounterBufferGOOGLE": 5634,
-                    "HlslSemanticGOOGLE": 5635,
-                    "UserSemantic": 5635,
-                    "UserTypeGOOGLE": 5636
-                }
-            },
-            {
-                "Name": "BuiltIn",
-                "Type": "Value",
-                "Values":
-                {
-                    "Position": 0,
-                    "PointSize": 1,
-                    "ClipDistance": 3,
-                    "CullDistance": 4,
-                    "VertexId": 5,
-                    "InstanceId": 6,
-                    "PrimitiveId": 7,
-                    "InvocationId": 8,
-                    "Layer": 9,
-                    "ViewportIndex": 10,
-                    "TessLevelOuter": 11,
-                    "TessLevelInner": 12,
-                    "TessCoord": 13,
-                    "PatchVertices": 14,
-                    "FragCoord": 15,
-                    "PointCoord": 16,
-                    "FrontFacing": 17,
-                    "SampleId": 18,
-                    "SamplePosition": 19,
-                    "SampleMask": 20,
-                    "FragDepth": 22,
-                    "HelperInvocation": 23,
-                    "NumWorkgroups": 24,
-                    "WorkgroupSize": 25,
-                    "WorkgroupId": 26,
-                    "LocalInvocationId": 27,
-                    "GlobalInvocationId": 28,
-                    "LocalInvocationIndex": 29,
-                    "WorkDim": 30,
-                    "GlobalSize": 31,
-                    "EnqueuedWorkgroupSize": 32,
-                    "GlobalOffset": 33,
-                    "GlobalLinearId": 34,
-                    "SubgroupSize": 36,
-                    "SubgroupMaxSize": 37,
-                    "NumSubgroups": 38,
-                    "NumEnqueuedSubgroups": 39,
-                    "SubgroupId": 40,
-                    "SubgroupLocalInvocationId": 41,
-                    "VertexIndex": 42,
-                    "InstanceIndex": 43,
-                    "SubgroupEqMask": 4416,
-                    "SubgroupEqMaskKHR": 4416,
-                    "SubgroupGeMask": 4417,
-                    "SubgroupGeMaskKHR": 4417,
-                    "SubgroupGtMask": 4418,
-                    "SubgroupGtMaskKHR": 4418,
-                    "SubgroupLeMask": 4419,
-                    "SubgroupLeMaskKHR": 4419,
-                    "SubgroupLtMask": 4420,
-                    "SubgroupLtMaskKHR": 4420,
-                    "BaseVertex": 4424,
-                    "BaseInstance": 4425,
-                    "DrawIndex": 4426,
-                    "DeviceIndex": 4438,
-                    "ViewIndex": 4440,
-                    "BaryCoordNoPerspAMD": 4992,
-                    "BaryCoordNoPerspCentroidAMD": 4993,
-                    "BaryCoordNoPerspSampleAMD": 4994,
-                    "BaryCoordSmoothAMD": 4995,
-                    "BaryCoordSmoothCentroidAMD": 4996,
-                    "BaryCoordSmoothSampleAMD": 4997,
-                    "BaryCoordPullModelAMD": 4998,
-                    "FragStencilRefEXT": 5014,
-                    "ViewportMaskNV": 5253,
-                    "SecondaryPositionNV": 5257,
-                    "SecondaryViewportMaskNV": 5258,
-                    "PositionPerViewNV": 5261,
-                    "ViewportMaskPerViewNV": 5262,
-                    "FullyCoveredEXT": 5264,
-                    "TaskCountNV": 5274,
-                    "PrimitiveCountNV": 5275,
-                    "PrimitiveIndicesNV": 5276,
-                    "ClipDistancePerViewNV": 5277,
-                    "CullDistancePerViewNV": 5278,
-                    "LayerPerViewNV": 5279,
-                    "MeshViewCountNV": 5280,
-                    "MeshViewIndicesNV": 5281,
-                    "BaryCoordNV": 5286,
-                    "BaryCoordNoPerspNV": 5287,
-                    "FragSizeEXT": 5292,
-                    "FragmentSizeNV": 5292,
-                    "FragInvocationCountEXT": 5293,
-                    "InvocationsPerPixelNV": 5293,
-                    "LaunchIdKHR": 5319,
-                    "LaunchIdNV": 5319,
-                    "LaunchSizeKHR": 5320,
-                    "LaunchSizeNV": 5320,
-                    "WorldRayOriginKHR": 5321,
-                    "WorldRayOriginNV": 5321,
-                    "WorldRayDirectionKHR": 5322,
-                    "WorldRayDirectionNV": 5322,
-                    "ObjectRayOriginKHR": 5323,
-                    "ObjectRayOriginNV": 5323,
-                    "ObjectRayDirectionKHR": 5324,
-                    "ObjectRayDirectionNV": 5324,
-                    "RayTminKHR": 5325,
-                    "RayTminNV": 5325,
-                    "RayTmaxKHR": 5326,
-                    "RayTmaxNV": 5326,
-                    "InstanceCustomIndexKHR": 5327,
-                    "InstanceCustomIndexNV": 5327,
-                    "ObjectToWorldKHR": 5330,
-                    "ObjectToWorldNV": 5330,
-                    "WorldToObjectKHR": 5331,
-                    "WorldToObjectNV": 5331,
-                    "HitTKHR": 5332,
-                    "HitTNV": 5332,
-                    "HitKindKHR": 5333,
-                    "HitKindNV": 5333,
-                    "IncomingRayFlagsKHR": 5351,
-                    "IncomingRayFlagsNV": 5351,
-                    "RayGeometryIndexKHR": 5352,
-                    "WarpsPerSMNV": 5374,
-                    "SMCountNV": 5375,
-                    "WarpIDNV": 5376,
-                    "SMIDNV": 5377
-                }
-            },
-            {
-                "Name": "SelectionControl",
-                "Type": "Bit",
-                "Values":
-                {
-                    "Flatten": 0,
-                    "DontFlatten": 1
-                }
-            },
-            {
-                "Name": "LoopControl",
-                "Type": "Bit",
-                "Values":
-                {
-                    "Unroll": 0,
-                    "DontUnroll": 1,
-                    "DependencyInfinite": 2,
-                    "DependencyLength": 3,
-                    "MinIterations": 4,
-                    "MaxIterations": 5,
-                    "IterationMultiple": 6,
-                    "PeelCount": 7,
-                    "PartialCount": 8
-                }
-            },
-            {
-                "Name": "FunctionControl",
-                "Type": "Bit",
-                "Values":
-                {
-                    "Inline": 0,
-                    "DontInline": 1,
-                    "Pure": 2,
-                    "Const": 3
-                }
-            },
-            {
-                "Name": "MemorySemantics",
-                "Type": "Bit",
-                "Values":
-                {
-                    "Acquire": 1,
-                    "Release": 2,
-                    "AcquireRelease": 3,
-                    "SequentiallyConsistent": 4,
-                    "UniformMemory": 6,
-                    "SubgroupMemory": 7,
-                    "WorkgroupMemory": 8,
-                    "CrossWorkgroupMemory": 9,
-                    "AtomicCounterMemory": 10,
-                    "ImageMemory": 11,
-                    "OutputMemory": 12,
-                    "OutputMemoryKHR": 12,
-                    "MakeAvailable": 13,
-                    "MakeAvailableKHR": 13,
-                    "MakeVisible": 14,
-                    "MakeVisibleKHR": 14,
-                    "Volatile": 15
-                }
-            },
-            {
-                "Name": "MemoryAccess",
-                "Type": "Bit",
-                "Values":
-                {
-                    "Volatile": 0,
-                    "Aligned": 1,
-                    "Nontemporal": 2,
-                    "MakePointerAvailable": 3,
-                    "MakePointerAvailableKHR": 3,
-                    "MakePointerVisible": 4,
-                    "MakePointerVisibleKHR": 4,
-                    "NonPrivatePointer": 5,
-                    "NonPrivatePointerKHR": 5
-                }
-            },
-            {
-                "Name": "Scope",
-                "Type": "Value",
-                "Values":
-                {
-                    "CrossDevice": 0,
-                    "Device": 1,
-                    "Workgroup": 2,
-                    "Subgroup": 3,
-                    "Invocation": 4,
-                    "QueueFamily": 5,
-                    "QueueFamilyKHR": 5,
-                    "ShaderCallKHR": 6
-                }
-            },
-            {
-                "Name": "GroupOperation",
-                "Type": "Value",
-                "Values":
-                {
-                    "Reduce": 0,
-                    "InclusiveScan": 1,
-                    "ExclusiveScan": 2,
-                    "ClusteredReduce": 3,
-                    "PartitionedReduceNV": 6,
-                    "PartitionedInclusiveScanNV": 7,
-                    "PartitionedExclusiveScanNV": 8
-                }
-            },
-            {
-                "Name": "KernelEnqueueFlags",
-                "Type": "Value",
-                "Values":
-                {
-                    "NoWait": 0,
-                    "WaitKernel": 1,
-                    "WaitWorkGroup": 2
-                }
-            },
-            {
-                "Name": "KernelProfilingInfo",
-                "Type": "Bit",
-                "Values":
-                {
-                    "CmdExecTime": 0
-                }
-            },
-            {
-                "Name": "Capability",
-                "Type": "Value",
-                "Values":
-                {
-                    "Matrix": 0,
-                    "Shader": 1,
-                    "Geometry": 2,
-                    "Tessellation": 3,
-                    "Addresses": 4,
-                    "Linkage": 5,
-                    "Kernel": 6,
-                    "Vector16": 7,
-                    "Float16Buffer": 8,
-                    "Float16": 9,
-                    "Float64": 10,
-                    "Int64": 11,
-                    "Int64Atomics": 12,
-                    "ImageBasic": 13,
-                    "ImageReadWrite": 14,
-                    "ImageMipmap": 15,
-                    "Pipes": 17,
-                    "Groups": 18,
-                    "DeviceEnqueue": 19,
-                    "LiteralSampler": 20,
-                    "AtomicStorage": 21,
-                    "Int16": 22,
-                    "TessellationPointSize": 23,
-                    "GeometryPointSize": 24,
-                    "ImageGatherExtended": 25,
-                    "StorageImageMultisample": 27,
-                    "UniformBufferArrayDynamicIndexing": 28,
-                    "SampledImageArrayDynamicIndexing": 29,
-                    "StorageBufferArrayDynamicIndexing": 30,
-                    "StorageImageArrayDynamicIndexing": 31,
-                    "ClipDistance": 32,
-                    "CullDistance": 33,
-                    "ImageCubeArray": 34,
-                    "SampleRateShading": 35,
-                    "ImageRect": 36,
-                    "SampledRect": 37,
-                    "GenericPointer": 38,
-                    "Int8": 39,
-                    "InputAttachment": 40,
-                    "SparseResidency": 41,
-                    "MinLod": 42,
-                    "Sampled1D": 43,
-                    "Image1D": 44,
-                    "SampledCubeArray": 45,
-                    "SampledBuffer": 46,
-                    "ImageBuffer": 47,
-                    "ImageMSArray": 48,
-                    "StorageImageExtendedFormats": 49,
-                    "ImageQuery": 50,
-                    "DerivativeControl": 51,
-                    "InterpolationFunction": 52,
-                    "TransformFeedback": 53,
-                    "GeometryStreams": 54,
-                    "StorageImageReadWithoutFormat": 55,
-                    "StorageImageWriteWithoutFormat": 56,
-                    "MultiViewport": 57,
-                    "SubgroupDispatch": 58,
-                    "NamedBarrier": 59,
-                    "PipeStorage": 60,
-                    "GroupNonUniform": 61,
-                    "GroupNonUniformVote": 62,
-                    "GroupNonUniformArithmetic": 63,
-                    "GroupNonUniformBallot": 64,
-                    "GroupNonUniformShuffle": 65,
-                    "GroupNonUniformShuffleRelative": 66,
-                    "GroupNonUniformClustered": 67,
-                    "GroupNonUniformQuad": 68,
-                    "ShaderLayer": 69,
-                    "ShaderViewportIndex": 70,
-                    "SubgroupBallotKHR": 4423,
-                    "DrawParameters": 4427,
-                    "SubgroupVoteKHR": 4431,
-                    "StorageBuffer16BitAccess": 4433,
-                    "StorageUniformBufferBlock16": 4433,
-                    "StorageUniform16": 4434,
-                    "UniformAndStorageBuffer16BitAccess": 4434,
-                    "StoragePushConstant16": 4435,
-                    "StorageInputOutput16": 4436,
-                    "DeviceGroup": 4437,
-                    "MultiView": 4439,
-                    "VariablePointersStorageBuffer": 4441,
-                    "VariablePointers": 4442,
-                    "AtomicStorageOps": 4445,
-                    "SampleMaskPostDepthCoverage": 4447,
-                    "StorageBuffer8BitAccess": 4448,
-                    "UniformAndStorageBuffer8BitAccess": 4449,
-                    "StoragePushConstant8": 4450,
-                    "DenormPreserve": 4464,
-                    "DenormFlushToZero": 4465,
-                    "SignedZeroInfNanPreserve": 4466,
-                    "RoundingModeRTE": 4467,
-                    "RoundingModeRTZ": 4468,
-                    "RayQueryProvisionalKHR": 4471,
-                    "RayTraversalPrimitiveCullingProvisionalKHR": 4478,
-                    "Float16ImageAMD": 5008,
-                    "ImageGatherBiasLodAMD": 5009,
-                    "FragmentMaskAMD": 5010,
-                    "StencilExportEXT": 5013,
-                    "ImageReadWriteLodAMD": 5015,
-                    "ShaderClockKHR": 5055,
-                    "SampleMaskOverrideCoverageNV": 5249,
-                    "GeometryShaderPassthroughNV": 5251,
-                    "ShaderViewportIndexLayerEXT": 5254,
-                    "ShaderViewportIndexLayerNV": 5254,
-                    "ShaderViewportMaskNV": 5255,
-                    "ShaderStereoViewNV": 5259,
-                    "PerViewAttributesNV": 5260,
-                    "FragmentFullyCoveredEXT": 5265,
-                    "MeshShadingNV": 5266,
-                    "ImageFootprintNV": 5282,
-                    "FragmentBarycentricNV": 5284,
-                    "ComputeDerivativeGroupQuadsNV": 5288,
-                    "FragmentDensityEXT": 5291,
-                    "ShadingRateNV": 5291,
-                    "GroupNonUniformPartitionedNV": 5297,
-                    "ShaderNonUniform": 5301,
-                    "ShaderNonUniformEXT": 5301,
-                    "RuntimeDescriptorArray": 5302,
-                    "RuntimeDescriptorArrayEXT": 5302,
-                    "InputAttachmentArrayDynamicIndexing": 5303,
-                    "InputAttachmentArrayDynamicIndexingEXT": 5303,
-                    "UniformTexelBufferArrayDynamicIndexing": 5304,
-                    "UniformTexelBufferArrayDynamicIndexingEXT": 5304,
-                    "StorageTexelBufferArrayDynamicIndexing": 5305,
-                    "StorageTexelBufferArrayDynamicIndexingEXT": 5305,
-                    "UniformBufferArrayNonUniformIndexing": 5306,
-                    "UniformBufferArrayNonUniformIndexingEXT": 5306,
-                    "SampledImageArrayNonUniformIndexing": 5307,
-                    "SampledImageArrayNonUniformIndexingEXT": 5307,
-                    "StorageBufferArrayNonUniformIndexing": 5308,
-                    "StorageBufferArrayNonUniformIndexingEXT": 5308,
-                    "StorageImageArrayNonUniformIndexing": 5309,
-                    "StorageImageArrayNonUniformIndexingEXT": 5309,
-                    "InputAttachmentArrayNonUniformIndexing": 5310,
-                    "InputAttachmentArrayNonUniformIndexingEXT": 5310,
-                    "UniformTexelBufferArrayNonUniformIndexing": 5311,
-                    "UniformTexelBufferArrayNonUniformIndexingEXT": 5311,
-                    "StorageTexelBufferArrayNonUniformIndexing": 5312,
-                    "StorageTexelBufferArrayNonUniformIndexingEXT": 5312,
-                    "RayTracingNV": 5340,
-                    "VulkanMemoryModel": 5345,
-                    "VulkanMemoryModelKHR": 5345,
-                    "VulkanMemoryModelDeviceScope": 5346,
-                    "VulkanMemoryModelDeviceScopeKHR": 5346,
-                    "PhysicalStorageBufferAddresses": 5347,
-                    "PhysicalStorageBufferAddressesEXT": 5347,
-                    "ComputeDerivativeGroupLinearNV": 5350,
-                    "RayTracingProvisionalKHR": 5353,
-                    "CooperativeMatrixNV": 5357,
-                    "FragmentShaderSampleInterlockEXT": 5363,
-                    "FragmentShaderShadingRateInterlockEXT": 5372,
-                    "ShaderSMBuiltinsNV": 5373,
-                    "FragmentShaderPixelInterlockEXT": 5378,
-                    "DemoteToHelperInvocationEXT": 5379,
-                    "SubgroupShuffleINTEL": 5568,
-                    "SubgroupBufferBlockIOINTEL": 5569,
-                    "SubgroupImageBlockIOINTEL": 5570,
-                    "SubgroupImageMediaBlockIOINTEL": 5579,
-                    "IntegerFunctions2INTEL": 5584,
-                    "SubgroupAvcMotionEstimationINTEL": 5696,
-                    "SubgroupAvcMotionEstimationIntraINTEL": 5697,
-                    "SubgroupAvcMotionEstimationChromaINTEL": 5698
-                }
-            },
-            {
-                "Name": "RayFlags",
-                "Type": "Bit",
-                "Values":
-                {
-                    "OpaqueKHR": 0,
-                    "NoOpaqueKHR": 1,
-                    "TerminateOnFirstHitKHR": 2,
-                    "SkipClosestHitShaderKHR": 3,
-                    "CullBackFacingTrianglesKHR": 4,
-                    "CullFrontFacingTrianglesKHR": 5,
-                    "CullOpaqueKHR": 6,
-                    "CullNoOpaqueKHR": 7,
-                    "SkipTrianglesKHR": 8,
-                    "SkipAABBsKHR": 9
-                }
-            },
-            {
-                "Name": "RayQueryIntersection",
-                "Type": "Value",
-                "Values":
-                {
-                    "RayQueryCandidateIntersectionKHR": 0,
-                    "RayQueryCommittedIntersectionKHR": 1
-                }
-            },
-            {
-                "Name": "RayQueryCommittedIntersectionType",
-                "Type": "Value",
-                "Values":
-                {
-                    "RayQueryCommittedIntersectionNoneKHR": 0,
-                    "RayQueryCommittedIntersectionTriangleKHR": 1,
-                    "RayQueryCommittedIntersectionGeneratedKHR": 2
-                }
-            },
-            {
-                "Name": "RayQueryCandidateIntersectionType",
-                "Type": "Value",
-                "Values":
-                {
-                    "RayQueryCandidateIntersectionTriangleKHR": 0,
-                    "RayQueryCandidateIntersectionAABBKHR": 1
-                }
-            },
-            {
-                "Name": "Op",
-                "Type": "Value",
-                "Values":
-                {
-                    "OpNop": 0,
-                    "OpUndef": 1,
-                    "OpSourceContinued": 2,
-                    "OpSource": 3,
-                    "OpSourceExtension": 4,
-                    "OpName": 5,
-                    "OpMemberName": 6,
-                    "OpString": 7,
-                    "OpLine": 8,
-                    "OpExtension": 10,
-                    "OpExtInstImport": 11,
-                    "OpExtInst": 12,
-                    "OpMemoryModel": 14,
-                    "OpEntryPoint": 15,
-                    "OpExecutionMode": 16,
-                    "OpCapability": 17,
-                    "OpTypeVoid": 19,
-                    "OpTypeBool": 20,
-                    "OpTypeInt": 21,
-                    "OpTypeFloat": 22,
-                    "OpTypeVector": 23,
-                    "OpTypeMatrix": 24,
-                    "OpTypeImage": 25,
-                    "OpTypeSampler": 26,
-                    "OpTypeSampledImage": 27,
-                    "OpTypeArray": 28,
-                    "OpTypeRuntimeArray": 29,
-                    "OpTypeStruct": 30,
-                    "OpTypeOpaque": 31,
-                    "OpTypePointer": 32,
-                    "OpTypeFunction": 33,
-                    "OpTypeEvent": 34,
-                    "OpTypeDeviceEvent": 35,
-                    "OpTypeReserveId": 36,
-                    "OpTypeQueue": 37,
-                    "OpTypePipe": 38,
-                    "OpTypeForwardPointer": 39,
-                    "OpConstantTrue": 41,
-                    "OpConstantFalse": 42,
-                    "OpConstant": 43,
-                    "OpConstantComposite": 44,
-                    "OpConstantSampler": 45,
-                    "OpConstantNull": 46,
-                    "OpSpecConstantTrue": 48,
-                    "OpSpecConstantFalse": 49,
-                    "OpSpecConstant": 50,
-                    "OpSpecConstantComposite": 51,
-                    "OpSpecConstantOp": 52,
-                    "OpFunction": 54,
-                    "OpFunctionParameter": 55,
-                    "OpFunctionEnd": 56,
-                    "OpFunctionCall": 57,
-                    "OpVariable": 59,
-                    "OpImageTexelPointer": 60,
-                    "OpLoad": 61,
-                    "OpStore": 62,
-                    "OpCopyMemory": 63,
-                    "OpCopyMemorySized": 64,
-                    "OpAccessChain": 65,
-                    "OpInBoundsAccessChain": 66,
-                    "OpPtrAccessChain": 67,
-                    "OpArrayLength": 68,
-                    "OpGenericPtrMemSemantics": 69,
-                    "OpInBoundsPtrAccessChain": 70,
-                    "OpDecorate": 71,
-                    "OpMemberDecorate": 72,
-                    "OpDecorationGroup": 73,
-                    "OpGroupDecorate": 74,
-                    "OpGroupMemberDecorate": 75,
-                    "OpVectorExtractDynamic": 77,
-                    "OpVectorInsertDynamic": 78,
-                    "OpVectorShuffle": 79,
-                    "OpCompositeConstruct": 80,
-                    "OpCompositeExtract": 81,
-                    "OpCompositeInsert": 82,
-                    "OpCopyObject": 83,
-                    "OpTranspose": 84,
-                    "OpSampledImage": 86,
-                    "OpImageSampleImplicitLod": 87,
-                    "OpImageSampleExplicitLod": 88,
-                    "OpImageSampleDrefImplicitLod": 89,
-                    "OpImageSampleDrefExplicitLod": 90,
-                    "OpImageSampleProjImplicitLod": 91,
-                    "OpImageSampleProjExplicitLod": 92,
-                    "OpImageSampleProjDrefImplicitLod": 93,
-                    "OpImageSampleProjDrefExplicitLod": 94,
-                    "OpImageFetch": 95,
-                    "OpImageGather": 96,
-                    "OpImageDrefGather": 97,
-                    "OpImageRead": 98,
-                    "OpImageWrite": 99,
-                    "OpImage": 100,
-                    "OpImageQueryFormat": 101,
-                    "OpImageQueryOrder": 102,
-                    "OpImageQuerySizeLod": 103,
-                    "OpImageQuerySize": 104,
-                    "OpImageQueryLod": 105,
-                    "OpImageQueryLevels": 106,
-                    "OpImageQuerySamples": 107,
-                    "OpConvertFToU": 109,
-                    "OpConvertFToS": 110,
-                    "OpConvertSToF": 111,
-                    "OpConvertUToF": 112,
-                    "OpUConvert": 113,
-                    "OpSConvert": 114,
-                    "OpFConvert": 115,
-                    "OpQuantizeToF16": 116,
-                    "OpConvertPtrToU": 117,
-                    "OpSatConvertSToU": 118,
-                    "OpSatConvertUToS": 119,
-                    "OpConvertUToPtr": 120,
-                    "OpPtrCastToGeneric": 121,
-                    "OpGenericCastToPtr": 122,
-                    "OpGenericCastToPtrExplicit": 123,
-                    "OpBitcast": 124,
-                    "OpSNegate": 126,
-                    "OpFNegate": 127,
-                    "OpIAdd": 128,
-                    "OpFAdd": 129,
-                    "OpISub": 130,
-                    "OpFSub": 131,
-                    "OpIMul": 132,
-                    "OpFMul": 133,
-                    "OpUDiv": 134,
-                    "OpSDiv": 135,
-                    "OpFDiv": 136,
-                    "OpUMod": 137,
-                    "OpSRem": 138,
-                    "OpSMod": 139,
-                    "OpFRem": 140,
-                    "OpFMod": 141,
-                    "OpVectorTimesScalar": 142,
-                    "OpMatrixTimesScalar": 143,
-                    "OpVectorTimesMatrix": 144,
-                    "OpMatrixTimesVector": 145,
-                    "OpMatrixTimesMatrix": 146,
-                    "OpOuterProduct": 147,
-                    "OpDot": 148,
-                    "OpIAddCarry": 149,
-                    "OpISubBorrow": 150,
-                    "OpUMulExtended": 151,
-                    "OpSMulExtended": 152,
-                    "OpAny": 154,
-                    "OpAll": 155,
-                    "OpIsNan": 156,
-                    "OpIsInf": 157,
-                    "OpIsFinite": 158,
-                    "OpIsNormal": 159,
-                    "OpSignBitSet": 160,
-                    "OpLessOrGreater": 161,
-                    "OpOrdered": 162,
-                    "OpUnordered": 163,
-                    "OpLogicalEqual": 164,
-                    "OpLogicalNotEqual": 165,
-                    "OpLogicalOr": 166,
-                    "OpLogicalAnd": 167,
-                    "OpLogicalNot": 168,
-                    "OpSelect": 169,
-                    "OpIEqual": 170,
-                    "OpINotEqual": 171,
-                    "OpUGreaterThan": 172,
-                    "OpSGreaterThan": 173,
-                    "OpUGreaterThanEqual": 174,
-                    "OpSGreaterThanEqual": 175,
-                    "OpULessThan": 176,
-                    "OpSLessThan": 177,
-                    "OpULessThanEqual": 178,
-                    "OpSLessThanEqual": 179,
-                    "OpFOrdEqual": 180,
-                    "OpFUnordEqual": 181,
-                    "OpFOrdNotEqual": 182,
-                    "OpFUnordNotEqual": 183,
-                    "OpFOrdLessThan": 184,
-                    "OpFUnordLessThan": 185,
-                    "OpFOrdGreaterThan": 186,
-                    "OpFUnordGreaterThan": 187,
-                    "OpFOrdLessThanEqual": 188,
-                    "OpFUnordLessThanEqual": 189,
-                    "OpFOrdGreaterThanEqual": 190,
-                    "OpFUnordGreaterThanEqual": 191,
-                    "OpShiftRightLogical": 194,
-                    "OpShiftRightArithmetic": 195,
-                    "OpShiftLeftLogical": 196,
-                    "OpBitwiseOr": 197,
-                    "OpBitwiseXor": 198,
-                    "OpBitwiseAnd": 199,
-                    "OpNot": 200,
-                    "OpBitFieldInsert": 201,
-                    "OpBitFieldSExtract": 202,
-                    "OpBitFieldUExtract": 203,
-                    "OpBitReverse": 204,
-                    "OpBitCount": 205,
-                    "OpDPdx": 207,
-                    "OpDPdy": 208,
-                    "OpFwidth": 209,
-                    "OpDPdxFine": 210,
-                    "OpDPdyFine": 211,
-                    "OpFwidthFine": 212,
-                    "OpDPdxCoarse": 213,
-                    "OpDPdyCoarse": 214,
-                    "OpFwidthCoarse": 215,
-                    "OpEmitVertex": 218,
-                    "OpEndPrimitive": 219,
-                    "OpEmitStreamVertex": 220,
-                    "OpEndStreamPrimitive": 221,
-                    "OpControlBarrier": 224,
-                    "OpMemoryBarrier": 225,
-                    "OpAtomicLoad": 227,
-                    "OpAtomicStore": 228,
-                    "OpAtomicExchange": 229,
-                    "OpAtomicCompareExchange": 230,
-                    "OpAtomicCompareExchangeWeak": 231,
-                    "OpAtomicIIncrement": 232,
-                    "OpAtomicIDecrement": 233,
-                    "OpAtomicIAdd": 234,
-                    "OpAtomicISub": 235,
-                    "OpAtomicSMin": 236,
-                    "OpAtomicUMin": 237,
-                    "OpAtomicSMax": 238,
-                    "OpAtomicUMax": 239,
-                    "OpAtomicAnd": 240,
-                    "OpAtomicOr": 241,
-                    "OpAtomicXor": 242,
-                    "OpPhi": 245,
-                    "OpLoopMerge": 246,
-                    "OpSelectionMerge": 247,
-                    "OpLabel": 248,
-                    "OpBranch": 249,
-                    "OpBranchConditional": 250,
-                    "OpSwitch": 251,
-                    "OpKill": 252,
-                    "OpReturn": 253,
-                    "OpReturnValue": 254,
-                    "OpUnreachable": 255,
-                    "OpLifetimeStart": 256,
-                    "OpLifetimeStop": 257,
-                    "OpGroupAsyncCopy": 259,
-                    "OpGroupWaitEvents": 260,
-                    "OpGroupAll": 261,
-                    "OpGroupAny": 262,
-                    "OpGroupBroadcast": 263,
-                    "OpGroupIAdd": 264,
-                    "OpGroupFAdd": 265,
-                    "OpGroupFMin": 266,
-                    "OpGroupUMin": 267,
-                    "OpGroupSMin": 268,
-                    "OpGroupFMax": 269,
-                    "OpGroupUMax": 270,
-                    "OpGroupSMax": 271,
-                    "OpReadPipe": 274,
-                    "OpWritePipe": 275,
-                    "OpReservedReadPipe": 276,
-                    "OpReservedWritePipe": 277,
-                    "OpReserveReadPipePackets": 278,
-                    "OpReserveWritePipePackets": 279,
-                    "OpCommitReadPipe": 280,
-                    "OpCommitWritePipe": 281,
-                    "OpIsValidReserveId": 282,
-                    "OpGetNumPipePackets": 283,
-                    "OpGetMaxPipePackets": 284,
-                    "OpGroupReserveReadPipePackets": 285,
-                    "OpGroupReserveWritePipePackets": 286,
-                    "OpGroupCommitReadPipe": 287,
-                    "OpGroupCommitWritePipe": 288,
-                    "OpEnqueueMarker": 291,
-                    "OpEnqueueKernel": 292,
-                    "OpGetKernelNDrangeSubGroupCount": 293,
-                    "OpGetKernelNDrangeMaxSubGroupSize": 294,
-                    "OpGetKernelWorkGroupSize": 295,
-                    "OpGetKernelPreferredWorkGroupSizeMultiple": 296,
-                    "OpRetainEvent": 297,
-                    "OpReleaseEvent": 298,
-                    "OpCreateUserEvent": 299,
-                    "OpIsValidEvent": 300,
-                    "OpSetUserEventStatus": 301,
-                    "OpCaptureEventProfilingInfo": 302,
-                    "OpGetDefaultQueue": 303,
-                    "OpBuildNDRange": 304,
-                    "OpImageSparseSampleImplicitLod": 305,
-                    "OpImageSparseSampleExplicitLod": 306,
-                    "OpImageSparseSampleDrefImplicitLod": 307,
-                    "OpImageSparseSampleDrefExplicitLod": 308,
-                    "OpImageSparseSampleProjImplicitLod": 309,
-                    "OpImageSparseSampleProjExplicitLod": 310,
-                    "OpImageSparseSampleProjDrefImplicitLod": 311,
-                    "OpImageSparseSampleProjDrefExplicitLod": 312,
-                    "OpImageSparseFetch": 313,
-                    "OpImageSparseGather": 314,
-                    "OpImageSparseDrefGather": 315,
-                    "OpImageSparseTexelsResident": 316,
-                    "OpNoLine": 317,
-                    "OpAtomicFlagTestAndSet": 318,
-                    "OpAtomicFlagClear": 319,
-                    "OpImageSparseRead": 320,
-                    "OpSizeOf": 321,
-                    "OpTypePipeStorage": 322,
-                    "OpConstantPipeStorage": 323,
-                    "OpCreatePipeFromPipeStorage": 324,
-                    "OpGetKernelLocalSizeForSubgroupCount": 325,
-                    "OpGetKernelMaxNumSubgroups": 326,
-                    "OpTypeNamedBarrier": 327,
-                    "OpNamedBarrierInitialize": 328,
-                    "OpMemoryNamedBarrier": 329,
-                    "OpModuleProcessed": 330,
-                    "OpExecutionModeId": 331,
-                    "OpDecorateId": 332,
-                    "OpGroupNonUniformElect": 333,
-                    "OpGroupNonUniformAll": 334,
-                    "OpGroupNonUniformAny": 335,
-                    "OpGroupNonUniformAllEqual": 336,
-                    "OpGroupNonUniformBroadcast": 337,
-                    "OpGroupNonUniformBroadcastFirst": 338,
-                    "OpGroupNonUniformBallot": 339,
-                    "OpGroupNonUniformInverseBallot": 340,
-                    "OpGroupNonUniformBallotBitExtract": 341,
-                    "OpGroupNonUniformBallotBitCount": 342,
-                    "OpGroupNonUniformBallotFindLSB": 343,
-                    "OpGroupNonUniformBallotFindMSB": 344,
-                    "OpGroupNonUniformShuffle": 345,
-                    "OpGroupNonUniformShuffleXor": 346,
-                    "OpGroupNonUniformShuffleUp": 347,
-                    "OpGroupNonUniformShuffleDown": 348,
-                    "OpGroupNonUniformIAdd": 349,
-                    "OpGroupNonUniformFAdd": 350,
-                    "OpGroupNonUniformIMul": 351,
-                    "OpGroupNonUniformFMul": 352,
-                    "OpGroupNonUniformSMin": 353,
-                    "OpGroupNonUniformUMin": 354,
-                    "OpGroupNonUniformFMin": 355,
-                    "OpGroupNonUniformSMax": 356,
-                    "OpGroupNonUniformUMax": 357,
-                    "OpGroupNonUniformFMax": 358,
-                    "OpGroupNonUniformBitwiseAnd": 359,
-                    "OpGroupNonUniformBitwiseOr": 360,
-                    "OpGroupNonUniformBitwiseXor": 361,
-                    "OpGroupNonUniformLogicalAnd": 362,
-                    "OpGroupNonUniformLogicalOr": 363,
-                    "OpGroupNonUniformLogicalXor": 364,
-                    "OpGroupNonUniformQuadBroadcast": 365,
-                    "OpGroupNonUniformQuadSwap": 366,
-                    "OpCopyLogical": 400,
-                    "OpPtrEqual": 401,
-                    "OpPtrNotEqual": 402,
-                    "OpPtrDiff": 403,
-                    "OpSubgroupBallotKHR": 4421,
-                    "OpSubgroupFirstInvocationKHR": 4422,
-                    "OpSubgroupAllKHR": 4428,
-                    "OpSubgroupAnyKHR": 4429,
-                    "OpSubgroupAllEqualKHR": 4430,
-                    "OpSubgroupReadInvocationKHR": 4432,
-                    "OpTypeRayQueryProvisionalKHR": 4472,
-                    "OpRayQueryInitializeKHR": 4473,
-                    "OpRayQueryTerminateKHR": 4474,
-                    "OpRayQueryGenerateIntersectionKHR": 4475,
-                    "OpRayQueryConfirmIntersectionKHR": 4476,
-                    "OpRayQueryProceedKHR": 4477,
-                    "OpRayQueryGetIntersectionTypeKHR": 4479,
-                    "OpGroupIAddNonUniformAMD": 5000,
-                    "OpGroupFAddNonUniformAMD": 5001,
-                    "OpGroupFMinNonUniformAMD": 5002,
-                    "OpGroupUMinNonUniformAMD": 5003,
-                    "OpGroupSMinNonUniformAMD": 5004,
-                    "OpGroupFMaxNonUniformAMD": 5005,
-                    "OpGroupUMaxNonUniformAMD": 5006,
-                    "OpGroupSMaxNonUniformAMD": 5007,
-                    "OpFragmentMaskFetchAMD": 5011,
-                    "OpFragmentFetchAMD": 5012,
-                    "OpReadClockKHR": 5056,
-                    "OpImageSampleFootprintNV": 5283,
-                    "OpGroupNonUniformPartitionNV": 5296,
-                    "OpWritePackedPrimitiveIndices4x8NV": 5299,
-                    "OpReportIntersectionKHR": 5334,
-                    "OpReportIntersectionNV": 5334,
-                    "OpIgnoreIntersectionKHR": 5335,
-                    "OpIgnoreIntersectionNV": 5335,
-                    "OpTerminateRayKHR": 5336,
-                    "OpTerminateRayNV": 5336,
-                    "OpTraceNV": 5337,
-                    "OpTraceRayKHR": 5337,
-                    "OpTypeAccelerationStructureKHR": 5341,
-                    "OpTypeAccelerationStructureNV": 5341,
-                    "OpExecuteCallableKHR": 5344,
-                    "OpExecuteCallableNV": 5344,
-                    "OpTypeCooperativeMatrixNV": 5358,
-                    "OpCooperativeMatrixLoadNV": 5359,
-                    "OpCooperativeMatrixStoreNV": 5360,
-                    "OpCooperativeMatrixMulAddNV": 5361,
-                    "OpCooperativeMatrixLengthNV": 5362,
-                    "OpBeginInvocationInterlockEXT": 5364,
-                    "OpEndInvocationInterlockEXT": 5365,
-                    "OpDemoteToHelperInvocationEXT": 5380,
-                    "OpIsHelperInvocationEXT": 5381,
-                    "OpSubgroupShuffleINTEL": 5571,
-                    "OpSubgroupShuffleDownINTEL": 5572,
-                    "OpSubgroupShuffleUpINTEL": 5573,
-                    "OpSubgroupShuffleXorINTEL": 5574,
-                    "OpSubgroupBlockReadINTEL": 5575,
-                    "OpSubgroupBlockWriteINTEL": 5576,
-                    "OpSubgroupImageBlockReadINTEL": 5577,
-                    "OpSubgroupImageBlockWriteINTEL": 5578,
-                    "OpSubgroupImageMediaBlockReadINTEL": 5580,
-                    "OpSubgroupImageMediaBlockWriteINTEL": 5581,
-                    "OpUCountLeadingZerosINTEL": 5585,
-                    "OpUCountTrailingZerosINTEL": 5586,
-                    "OpAbsISubINTEL": 5587,
-                    "OpAbsUSubINTEL": 5588,
-                    "OpIAddSatINTEL": 5589,
-                    "OpUAddSatINTEL": 5590,
-                    "OpIAverageINTEL": 5591,
-                    "OpUAverageINTEL": 5592,
-                    "OpIAverageRoundedINTEL": 5593,
-                    "OpUAverageRoundedINTEL": 5594,
-                    "OpISubSatINTEL": 5595,
-                    "OpUSubSatINTEL": 5596,
-                    "OpIMul32x16INTEL": 5597,
-                    "OpUMul32x16INTEL": 5598,
-                    "OpDecorateString": 5632,
-                    "OpDecorateStringGOOGLE": 5632,
-                    "OpMemberDecorateString": 5633,
-                    "OpMemberDecorateStringGOOGLE": 5633,
-                    "OpVmeImageINTEL": 5699,
-                    "OpTypeVmeImageINTEL": 5700,
-                    "OpTypeAvcImePayloadINTEL": 5701,
-                    "OpTypeAvcRefPayloadINTEL": 5702,
-                    "OpTypeAvcSicPayloadINTEL": 5703,
-                    "OpTypeAvcMcePayloadINTEL": 5704,
-                    "OpTypeAvcMceResultINTEL": 5705,
-                    "OpTypeAvcImeResultINTEL": 5706,
-                    "OpTypeAvcImeResultSingleReferenceStreamoutINTEL": 5707,
-                    "OpTypeAvcImeResultDualReferenceStreamoutINTEL": 5708,
-                    "OpTypeAvcImeSingleReferenceStreaminINTEL": 5709,
-                    "OpTypeAvcImeDualReferenceStreaminINTEL": 5710,
-                    "OpTypeAvcRefResultINTEL": 5711,
-                    "OpTypeAvcSicResultINTEL": 5712,
-                    "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL": 5713,
-                    "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL": 5714,
-                    "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL": 5715,
-                    "OpSubgroupAvcMceSetInterShapePenaltyINTEL": 5716,
-                    "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL": 5717,
-                    "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL": 5718,
-                    "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL": 5719,
-                    "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL": 5720,
-                    "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL": 5721,
-                    "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL": 5722,
-                    "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL": 5723,
-                    "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL": 5724,
-                    "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL": 5725,
-                    "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL": 5726,
-                    "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL": 5727,
-                    "OpSubgroupAvcMceSetAcOnlyHaarINTEL": 5728,
-                    "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL": 5729,
-                    "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL": 5730,
-                    "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL": 5731,
-                    "OpSubgroupAvcMceConvertToImePayloadINTEL": 5732,
-                    "OpSubgroupAvcMceConvertToImeResultINTEL": 5733,
-                    "OpSubgroupAvcMceConvertToRefPayloadINTEL": 5734,
-                    "OpSubgroupAvcMceConvertToRefResultINTEL": 5735,
-                    "OpSubgroupAvcMceConvertToSicPayloadINTEL": 5736,
-                    "OpSubgroupAvcMceConvertToSicResultINTEL": 5737,
-                    "OpSubgroupAvcMceGetMotionVectorsINTEL": 5738,
-                    "OpSubgroupAvcMceGetInterDistortionsINTEL": 5739,
-                    "OpSubgroupAvcMceGetBestInterDistortionsINTEL": 5740,
-                    "OpSubgroupAvcMceGetInterMajorShapeINTEL": 5741,
-                    "OpSubgroupAvcMceGetInterMinorShapeINTEL": 5742,
-                    "OpSubgroupAvcMceGetInterDirectionsINTEL": 5743,
-                    "OpSubgroupAvcMceGetInterMotionVectorCountINTEL": 5744,
-                    "OpSubgroupAvcMceGetInterReferenceIdsINTEL": 5745,
-                    "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL": 5746,
-                    "OpSubgroupAvcImeInitializeINTEL": 5747,
-                    "OpSubgroupAvcImeSetSingleReferenceINTEL": 5748,
-                    "OpSubgroupAvcImeSetDualReferenceINTEL": 5749,
-                    "OpSubgroupAvcImeRefWindowSizeINTEL": 5750,
-                    "OpSubgroupAvcImeAdjustRefOffsetINTEL": 5751,
-                    "OpSubgroupAvcImeConvertToMcePayloadINTEL": 5752,
-                    "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL": 5753,
-                    "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL": 5754,
-                    "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL": 5755,
-                    "OpSubgroupAvcImeSetWeightedSadINTEL": 5756,
-                    "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL": 5757,
-                    "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL": 5758,
-                    "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL": 5759,
-                    "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL": 5760,
-                    "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL": 5761,
-                    "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL": 5762,
-                    "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL": 5763,
-                    "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL": 5764,
-                    "OpSubgroupAvcImeConvertToMceResultINTEL": 5765,
-                    "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL": 5766,
-                    "OpSubgroupAvcImeGetDualReferenceStreaminINTEL": 5767,
-                    "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL": 5768,
-                    "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL": 5769,
-                    "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL": 5770,
-                    "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL": 5771,
-                    "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL": 5772,
-                    "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL": 5773,
-                    "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL": 5774,
-                    "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL": 5775,
-                    "OpSubgroupAvcImeGetBorderReachedINTEL": 5776,
-                    "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL": 5777,
-                    "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL": 5778,
-                    "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL": 5779,
-                    "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL": 5780,
-                    "OpSubgroupAvcFmeInitializeINTEL": 5781,
-                    "OpSubgroupAvcBmeInitializeINTEL": 5782,
-                    "OpSubgroupAvcRefConvertToMcePayloadINTEL": 5783,
-                    "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL": 5784,
-                    "OpSubgroupAvcRefSetBilinearFilterEnableINTEL": 5785,
-                    "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL": 5786,
-                    "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL": 5787,
-                    "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL": 5788,
-                    "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL": 5789,
-                    "OpSubgroupAvcRefConvertToMceResultINTEL": 5790,
-                    "OpSubgroupAvcSicInitializeINTEL": 5791,
-                    "OpSubgroupAvcSicConfigureSkcINTEL": 5792,
-                    "OpSubgroupAvcSicConfigureIpeLumaINTEL": 5793,
-                    "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL": 5794,
-                    "OpSubgroupAvcSicGetMotionVectorMaskINTEL": 5795,
-                    "OpSubgroupAvcSicConvertToMcePayloadINTEL": 5796,
-                    "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL": 5797,
-                    "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL": 5798,
-                    "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL": 5799,
-                    "OpSubgroupAvcSicSetBilinearFilterEnableINTEL": 5800,
-                    "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL": 5801,
-                    "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL": 5802,
-                    "OpSubgroupAvcSicEvaluateIpeINTEL": 5803,
-                    "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL": 5804,
-                    "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL": 5805,
-                    "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL": 5806,
-                    "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL": 5807,
-                    "OpSubgroupAvcSicConvertToMceResultINTEL": 5808,
-                    "OpSubgroupAvcSicGetIpeLumaShapeINTEL": 5809,
-                    "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL": 5810,
-                    "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL": 5811,
-                    "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL": 5812,
-                    "OpSubgroupAvcSicGetIpeChromaModeINTEL": 5813,
-                    "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL": 5814,
-                    "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL": 5815,
-                    "OpSubgroupAvcSicGetInterRawSadsINTEL": 5816,
-                    "OpRayQueryGetRayTMinKHR": 6016,
-                    "OpRayQueryGetRayFlagsKHR": 6017,
-                    "OpRayQueryGetIntersectionTKHR": 6018,
-                    "OpRayQueryGetIntersectionInstanceCustomIndexKHR": 6019,
-                    "OpRayQueryGetIntersectionInstanceIdKHR": 6020,
-                    "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR": 6021,
-                    "OpRayQueryGetIntersectionGeometryIndexKHR": 6022,
-                    "OpRayQueryGetIntersectionPrimitiveIndexKHR": 6023,
-                    "OpRayQueryGetIntersectionBarycentricsKHR": 6024,
-                    "OpRayQueryGetIntersectionFrontFaceKHR": 6025,
-                    "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR": 6026,
-                    "OpRayQueryGetIntersectionObjectRayDirectionKHR": 6027,
-                    "OpRayQueryGetIntersectionObjectRayOriginKHR": 6028,
-                    "OpRayQueryGetWorldRayDirectionKHR": 6029,
-                    "OpRayQueryGetWorldRayOriginKHR": 6030,
-                    "OpRayQueryGetIntersectionObjectToWorldKHR": 6031,
-                    "OpRayQueryGetIntersectionWorldToObjectKHR": 6032
-                }
-            }
-        ]
-    }
-}
-
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
deleted file mode 100644
index 71698d8..0000000
--- a/include/spirv/unified1/spirv.lua
+++ /dev/null
@@ -1,1500 +0,0 @@
--- Copyright (c) 2014-2020 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"),
--- to deal in the Materials without restriction, including without limitation
--- the rights to use, copy, modify, merge, publish, distribute, sublicense,
--- and/or sell copies of the Materials, and to permit persons to whom the
--- Materials are furnished to do so, subject to the following conditions:
--- 
--- The above copyright notice and this permission notice shall be included in
--- all copies or substantial portions of the Materials.
--- 
--- MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
--- STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
--- HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
--- 
--- THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
--- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
--- THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
--- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
--- FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
--- IN THE MATERIALS.
-
--- This header is automatically generated by the same tool that creates
--- the Binary Section of the SPIR-V specification.
-
--- Enumeration tokens for SPIR-V, in various styles:
---   C, C++, C++11, JSON, Lua, Python, C#, D
--- 
--- - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
--- - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
--- - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
--- - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
--- - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
--- - C# will use enum classes in the Specification class located in the "Spv" namespace,
---     e.g.: Spv.Specification.SourceLanguage.GLSL
--- - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
--- 
--- Some tokens act like mask values, which can be OR'd together,
--- while others are mutually exclusive.  The mask-like ones have
--- "Mask" in their name, and a parallel enum that has the shift
--- amount (1 << x) for each corresponding enumerant.
-
-spv = {
-    MagicNumber = 0x07230203,
-    Version = 0x00010500,
-    Revision = 3,
-    OpCodeMask = 0xffff,
-    WordCountShift = 16,
-
-    SourceLanguage = {
-        Unknown = 0,
-        ESSL = 1,
-        GLSL = 2,
-        OpenCL_C = 3,
-        OpenCL_CPP = 4,
-        HLSL = 5,
-    },
-
-    ExecutionModel = {
-        Vertex = 0,
-        TessellationControl = 1,
-        TessellationEvaluation = 2,
-        Geometry = 3,
-        Fragment = 4,
-        GLCompute = 5,
-        Kernel = 6,
-        TaskNV = 5267,
-        MeshNV = 5268,
-        RayGenerationKHR = 5313,
-        RayGenerationNV = 5313,
-        IntersectionKHR = 5314,
-        IntersectionNV = 5314,
-        AnyHitKHR = 5315,
-        AnyHitNV = 5315,
-        ClosestHitKHR = 5316,
-        ClosestHitNV = 5316,
-        MissKHR = 5317,
-        MissNV = 5317,
-        CallableKHR = 5318,
-        CallableNV = 5318,
-    },
-
-    AddressingModel = {
-        Logical = 0,
-        Physical32 = 1,
-        Physical64 = 2,
-        PhysicalStorageBuffer64 = 5348,
-        PhysicalStorageBuffer64EXT = 5348,
-    },
-
-    MemoryModel = {
-        Simple = 0,
-        GLSL450 = 1,
-        OpenCL = 2,
-        Vulkan = 3,
-        VulkanKHR = 3,
-    },
-
-    ExecutionMode = {
-        Invocations = 0,
-        SpacingEqual = 1,
-        SpacingFractionalEven = 2,
-        SpacingFractionalOdd = 3,
-        VertexOrderCw = 4,
-        VertexOrderCcw = 5,
-        PixelCenterInteger = 6,
-        OriginUpperLeft = 7,
-        OriginLowerLeft = 8,
-        EarlyFragmentTests = 9,
-        PointMode = 10,
-        Xfb = 11,
-        DepthReplacing = 12,
-        DepthGreater = 14,
-        DepthLess = 15,
-        DepthUnchanged = 16,
-        LocalSize = 17,
-        LocalSizeHint = 18,
-        InputPoints = 19,
-        InputLines = 20,
-        InputLinesAdjacency = 21,
-        Triangles = 22,
-        InputTrianglesAdjacency = 23,
-        Quads = 24,
-        Isolines = 25,
-        OutputVertices = 26,
-        OutputPoints = 27,
-        OutputLineStrip = 28,
-        OutputTriangleStrip = 29,
-        VecTypeHint = 30,
-        ContractionOff = 31,
-        Initializer = 33,
-        Finalizer = 34,
-        SubgroupSize = 35,
-        SubgroupsPerWorkgroup = 36,
-        SubgroupsPerWorkgroupId = 37,
-        LocalSizeId = 38,
-        LocalSizeHintId = 39,
-        PostDepthCoverage = 4446,
-        DenormPreserve = 4459,
-        DenormFlushToZero = 4460,
-        SignedZeroInfNanPreserve = 4461,
-        RoundingModeRTE = 4462,
-        RoundingModeRTZ = 4463,
-        StencilRefReplacingEXT = 5027,
-        OutputLinesNV = 5269,
-        OutputPrimitivesNV = 5270,
-        DerivativeGroupQuadsNV = 5289,
-        DerivativeGroupLinearNV = 5290,
-        OutputTrianglesNV = 5298,
-        PixelInterlockOrderedEXT = 5366,
-        PixelInterlockUnorderedEXT = 5367,
-        SampleInterlockOrderedEXT = 5368,
-        SampleInterlockUnorderedEXT = 5369,
-        ShadingRateInterlockOrderedEXT = 5370,
-        ShadingRateInterlockUnorderedEXT = 5371,
-    },
-
-    StorageClass = {
-        UniformConstant = 0,
-        Input = 1,
-        Uniform = 2,
-        Output = 3,
-        Workgroup = 4,
-        CrossWorkgroup = 5,
-        Private = 6,
-        Function = 7,
-        Generic = 8,
-        PushConstant = 9,
-        AtomicCounter = 10,
-        Image = 11,
-        StorageBuffer = 12,
-        CallableDataKHR = 5328,
-        CallableDataNV = 5328,
-        IncomingCallableDataKHR = 5329,
-        IncomingCallableDataNV = 5329,
-        RayPayloadKHR = 5338,
-        RayPayloadNV = 5338,
-        HitAttributeKHR = 5339,
-        HitAttributeNV = 5339,
-        IncomingRayPayloadKHR = 5342,
-        IncomingRayPayloadNV = 5342,
-        ShaderRecordBufferKHR = 5343,
-        ShaderRecordBufferNV = 5343,
-        PhysicalStorageBuffer = 5349,
-        PhysicalStorageBufferEXT = 5349,
-    },
-
-    Dim = {
-        Dim1D = 0,
-        Dim2D = 1,
-        Dim3D = 2,
-        Cube = 3,
-        Rect = 4,
-        Buffer = 5,
-        SubpassData = 6,
-    },
-
-    SamplerAddressingMode = {
-        None = 0,
-        ClampToEdge = 1,
-        Clamp = 2,
-        Repeat = 3,
-        RepeatMirrored = 4,
-    },
-
-    SamplerFilterMode = {
-        Nearest = 0,
-        Linear = 1,
-    },
-
-    ImageFormat = {
-        Unknown = 0,
-        Rgba32f = 1,
-        Rgba16f = 2,
-        R32f = 3,
-        Rgba8 = 4,
-        Rgba8Snorm = 5,
-        Rg32f = 6,
-        Rg16f = 7,
-        R11fG11fB10f = 8,
-        R16f = 9,
-        Rgba16 = 10,
-        Rgb10A2 = 11,
-        Rg16 = 12,
-        Rg8 = 13,
-        R16 = 14,
-        R8 = 15,
-        Rgba16Snorm = 16,
-        Rg16Snorm = 17,
-        Rg8Snorm = 18,
-        R16Snorm = 19,
-        R8Snorm = 20,
-        Rgba32i = 21,
-        Rgba16i = 22,
-        Rgba8i = 23,
-        R32i = 24,
-        Rg32i = 25,
-        Rg16i = 26,
-        Rg8i = 27,
-        R16i = 28,
-        R8i = 29,
-        Rgba32ui = 30,
-        Rgba16ui = 31,
-        Rgba8ui = 32,
-        R32ui = 33,
-        Rgb10a2ui = 34,
-        Rg32ui = 35,
-        Rg16ui = 36,
-        Rg8ui = 37,
-        R16ui = 38,
-        R8ui = 39,
-    },
-
-    ImageChannelOrder = {
-        R = 0,
-        A = 1,
-        RG = 2,
-        RA = 3,
-        RGB = 4,
-        RGBA = 5,
-        BGRA = 6,
-        ARGB = 7,
-        Intensity = 8,
-        Luminance = 9,
-        Rx = 10,
-        RGx = 11,
-        RGBx = 12,
-        Depth = 13,
-        DepthStencil = 14,
-        sRGB = 15,
-        sRGBx = 16,
-        sRGBA = 17,
-        sBGRA = 18,
-        ABGR = 19,
-    },
-
-    ImageChannelDataType = {
-        SnormInt8 = 0,
-        SnormInt16 = 1,
-        UnormInt8 = 2,
-        UnormInt16 = 3,
-        UnormShort565 = 4,
-        UnormShort555 = 5,
-        UnormInt101010 = 6,
-        SignedInt8 = 7,
-        SignedInt16 = 8,
-        SignedInt32 = 9,
-        UnsignedInt8 = 10,
-        UnsignedInt16 = 11,
-        UnsignedInt32 = 12,
-        HalfFloat = 13,
-        Float = 14,
-        UnormInt24 = 15,
-        UnormInt101010_2 = 16,
-    },
-
-    ImageOperandsShift = {
-        Bias = 0,
-        Lod = 1,
-        Grad = 2,
-        ConstOffset = 3,
-        Offset = 4,
-        ConstOffsets = 5,
-        Sample = 6,
-        MinLod = 7,
-        MakeTexelAvailable = 8,
-        MakeTexelAvailableKHR = 8,
-        MakeTexelVisible = 9,
-        MakeTexelVisibleKHR = 9,
-        NonPrivateTexel = 10,
-        NonPrivateTexelKHR = 10,
-        VolatileTexel = 11,
-        VolatileTexelKHR = 11,
-        SignExtend = 12,
-        ZeroExtend = 13,
-    },
-
-    ImageOperandsMask = {
-        MaskNone = 0,
-        Bias = 0x00000001,
-        Lod = 0x00000002,
-        Grad = 0x00000004,
-        ConstOffset = 0x00000008,
-        Offset = 0x00000010,
-        ConstOffsets = 0x00000020,
-        Sample = 0x00000040,
-        MinLod = 0x00000080,
-        MakeTexelAvailable = 0x00000100,
-        MakeTexelAvailableKHR = 0x00000100,
-        MakeTexelVisible = 0x00000200,
-        MakeTexelVisibleKHR = 0x00000200,
-        NonPrivateTexel = 0x00000400,
-        NonPrivateTexelKHR = 0x00000400,
-        VolatileTexel = 0x00000800,
-        VolatileTexelKHR = 0x00000800,
-        SignExtend = 0x00001000,
-        ZeroExtend = 0x00002000,
-    },
-
-    FPFastMathModeShift = {
-        NotNaN = 0,
-        NotInf = 1,
-        NSZ = 2,
-        AllowRecip = 3,
-        Fast = 4,
-    },
-
-    FPFastMathModeMask = {
-        MaskNone = 0,
-        NotNaN = 0x00000001,
-        NotInf = 0x00000002,
-        NSZ = 0x00000004,
-        AllowRecip = 0x00000008,
-        Fast = 0x00000010,
-    },
-
-    FPRoundingMode = {
-        RTE = 0,
-        RTZ = 1,
-        RTP = 2,
-        RTN = 3,
-    },
-
-    LinkageType = {
-        Export = 0,
-        Import = 1,
-    },
-
-    AccessQualifier = {
-        ReadOnly = 0,
-        WriteOnly = 1,
-        ReadWrite = 2,
-    },
-
-    FunctionParameterAttribute = {
-        Zext = 0,
-        Sext = 1,
-        ByVal = 2,
-        Sret = 3,
-        NoAlias = 4,
-        NoCapture = 5,
-        NoWrite = 6,
-        NoReadWrite = 7,
-    },
-
-    Decoration = {
-        RelaxedPrecision = 0,
-        SpecId = 1,
-        Block = 2,
-        BufferBlock = 3,
-        RowMajor = 4,
-        ColMajor = 5,
-        ArrayStride = 6,
-        MatrixStride = 7,
-        GLSLShared = 8,
-        GLSLPacked = 9,
-        CPacked = 10,
-        BuiltIn = 11,
-        NoPerspective = 13,
-        Flat = 14,
-        Patch = 15,
-        Centroid = 16,
-        Sample = 17,
-        Invariant = 18,
-        Restrict = 19,
-        Aliased = 20,
-        Volatile = 21,
-        Constant = 22,
-        Coherent = 23,
-        NonWritable = 24,
-        NonReadable = 25,
-        Uniform = 26,
-        UniformId = 27,
-        SaturatedConversion = 28,
-        Stream = 29,
-        Location = 30,
-        Component = 31,
-        Index = 32,
-        Binding = 33,
-        DescriptorSet = 34,
-        Offset = 35,
-        XfbBuffer = 36,
-        XfbStride = 37,
-        FuncParamAttr = 38,
-        FPRoundingMode = 39,
-        FPFastMathMode = 40,
-        LinkageAttributes = 41,
-        NoContraction = 42,
-        InputAttachmentIndex = 43,
-        Alignment = 44,
-        MaxByteOffset = 45,
-        AlignmentId = 46,
-        MaxByteOffsetId = 47,
-        NoSignedWrap = 4469,
-        NoUnsignedWrap = 4470,
-        ExplicitInterpAMD = 4999,
-        OverrideCoverageNV = 5248,
-        PassthroughNV = 5250,
-        ViewportRelativeNV = 5252,
-        SecondaryViewportRelativeNV = 5256,
-        PerPrimitiveNV = 5271,
-        PerViewNV = 5272,
-        PerTaskNV = 5273,
-        PerVertexNV = 5285,
-        NonUniform = 5300,
-        NonUniformEXT = 5300,
-        RestrictPointer = 5355,
-        RestrictPointerEXT = 5355,
-        AliasedPointer = 5356,
-        AliasedPointerEXT = 5356,
-        CounterBuffer = 5634,
-        HlslCounterBufferGOOGLE = 5634,
-        HlslSemanticGOOGLE = 5635,
-        UserSemantic = 5635,
-        UserTypeGOOGLE = 5636,
-    },
-
-    BuiltIn = {
-        Position = 0,
-        PointSize = 1,
-        ClipDistance = 3,
-        CullDistance = 4,
-        VertexId = 5,
-        InstanceId = 6,
-        PrimitiveId = 7,
-        InvocationId = 8,
-        Layer = 9,
-        ViewportIndex = 10,
-        TessLevelOuter = 11,
-        TessLevelInner = 12,
-        TessCoord = 13,
-        PatchVertices = 14,
-        FragCoord = 15,
-        PointCoord = 16,
-        FrontFacing = 17,
-        SampleId = 18,
-        SamplePosition = 19,
-        SampleMask = 20,
-        FragDepth = 22,
-        HelperInvocation = 23,
-        NumWorkgroups = 24,
-        WorkgroupSize = 25,
-        WorkgroupId = 26,
-        LocalInvocationId = 27,
-        GlobalInvocationId = 28,
-        LocalInvocationIndex = 29,
-        WorkDim = 30,
-        GlobalSize = 31,
-        EnqueuedWorkgroupSize = 32,
-        GlobalOffset = 33,
-        GlobalLinearId = 34,
-        SubgroupSize = 36,
-        SubgroupMaxSize = 37,
-        NumSubgroups = 38,
-        NumEnqueuedSubgroups = 39,
-        SubgroupId = 40,
-        SubgroupLocalInvocationId = 41,
-        VertexIndex = 42,
-        InstanceIndex = 43,
-        SubgroupEqMask = 4416,
-        SubgroupEqMaskKHR = 4416,
-        SubgroupGeMask = 4417,
-        SubgroupGeMaskKHR = 4417,
-        SubgroupGtMask = 4418,
-        SubgroupGtMaskKHR = 4418,
-        SubgroupLeMask = 4419,
-        SubgroupLeMaskKHR = 4419,
-        SubgroupLtMask = 4420,
-        SubgroupLtMaskKHR = 4420,
-        BaseVertex = 4424,
-        BaseInstance = 4425,
-        DrawIndex = 4426,
-        DeviceIndex = 4438,
-        ViewIndex = 4440,
-        BaryCoordNoPerspAMD = 4992,
-        BaryCoordNoPerspCentroidAMD = 4993,
-        BaryCoordNoPerspSampleAMD = 4994,
-        BaryCoordSmoothAMD = 4995,
-        BaryCoordSmoothCentroidAMD = 4996,
-        BaryCoordSmoothSampleAMD = 4997,
-        BaryCoordPullModelAMD = 4998,
-        FragStencilRefEXT = 5014,
-        ViewportMaskNV = 5253,
-        SecondaryPositionNV = 5257,
-        SecondaryViewportMaskNV = 5258,
-        PositionPerViewNV = 5261,
-        ViewportMaskPerViewNV = 5262,
-        FullyCoveredEXT = 5264,
-        TaskCountNV = 5274,
-        PrimitiveCountNV = 5275,
-        PrimitiveIndicesNV = 5276,
-        ClipDistancePerViewNV = 5277,
-        CullDistancePerViewNV = 5278,
-        LayerPerViewNV = 5279,
-        MeshViewCountNV = 5280,
-        MeshViewIndicesNV = 5281,
-        BaryCoordNV = 5286,
-        BaryCoordNoPerspNV = 5287,
-        FragSizeEXT = 5292,
-        FragmentSizeNV = 5292,
-        FragInvocationCountEXT = 5293,
-        InvocationsPerPixelNV = 5293,
-        LaunchIdKHR = 5319,
-        LaunchIdNV = 5319,
-        LaunchSizeKHR = 5320,
-        LaunchSizeNV = 5320,
-        WorldRayOriginKHR = 5321,
-        WorldRayOriginNV = 5321,
-        WorldRayDirectionKHR = 5322,
-        WorldRayDirectionNV = 5322,
-        ObjectRayOriginKHR = 5323,
-        ObjectRayOriginNV = 5323,
-        ObjectRayDirectionKHR = 5324,
-        ObjectRayDirectionNV = 5324,
-        RayTminKHR = 5325,
-        RayTminNV = 5325,
-        RayTmaxKHR = 5326,
-        RayTmaxNV = 5326,
-        InstanceCustomIndexKHR = 5327,
-        InstanceCustomIndexNV = 5327,
-        ObjectToWorldKHR = 5330,
-        ObjectToWorldNV = 5330,
-        WorldToObjectKHR = 5331,
-        WorldToObjectNV = 5331,
-        HitTKHR = 5332,
-        HitTNV = 5332,
-        HitKindKHR = 5333,
-        HitKindNV = 5333,
-        IncomingRayFlagsKHR = 5351,
-        IncomingRayFlagsNV = 5351,
-        RayGeometryIndexKHR = 5352,
-        WarpsPerSMNV = 5374,
-        SMCountNV = 5375,
-        WarpIDNV = 5376,
-        SMIDNV = 5377,
-    },
-
-    SelectionControlShift = {
-        Flatten = 0,
-        DontFlatten = 1,
-    },
-
-    SelectionControlMask = {
-        MaskNone = 0,
-        Flatten = 0x00000001,
-        DontFlatten = 0x00000002,
-    },
-
-    LoopControlShift = {
-        Unroll = 0,
-        DontUnroll = 1,
-        DependencyInfinite = 2,
-        DependencyLength = 3,
-        MinIterations = 4,
-        MaxIterations = 5,
-        IterationMultiple = 6,
-        PeelCount = 7,
-        PartialCount = 8,
-    },
-
-    LoopControlMask = {
-        MaskNone = 0,
-        Unroll = 0x00000001,
-        DontUnroll = 0x00000002,
-        DependencyInfinite = 0x00000004,
-        DependencyLength = 0x00000008,
-        MinIterations = 0x00000010,
-        MaxIterations = 0x00000020,
-        IterationMultiple = 0x00000040,
-        PeelCount = 0x00000080,
-        PartialCount = 0x00000100,
-    },
-
-    FunctionControlShift = {
-        Inline = 0,
-        DontInline = 1,
-        Pure = 2,
-        Const = 3,
-    },
-
-    FunctionControlMask = {
-        MaskNone = 0,
-        Inline = 0x00000001,
-        DontInline = 0x00000002,
-        Pure = 0x00000004,
-        Const = 0x00000008,
-    },
-
-    MemorySemanticsShift = {
-        Acquire = 1,
-        Release = 2,
-        AcquireRelease = 3,
-        SequentiallyConsistent = 4,
-        UniformMemory = 6,
-        SubgroupMemory = 7,
-        WorkgroupMemory = 8,
-        CrossWorkgroupMemory = 9,
-        AtomicCounterMemory = 10,
-        ImageMemory = 11,
-        OutputMemory = 12,
-        OutputMemoryKHR = 12,
-        MakeAvailable = 13,
-        MakeAvailableKHR = 13,
-        MakeVisible = 14,
-        MakeVisibleKHR = 14,
-        Volatile = 15,
-    },
-
-    MemorySemanticsMask = {
-        MaskNone = 0,
-        Acquire = 0x00000002,
-        Release = 0x00000004,
-        AcquireRelease = 0x00000008,
-        SequentiallyConsistent = 0x00000010,
-        UniformMemory = 0x00000040,
-        SubgroupMemory = 0x00000080,
-        WorkgroupMemory = 0x00000100,
-        CrossWorkgroupMemory = 0x00000200,
-        AtomicCounterMemory = 0x00000400,
-        ImageMemory = 0x00000800,
-        OutputMemory = 0x00001000,
-        OutputMemoryKHR = 0x00001000,
-        MakeAvailable = 0x00002000,
-        MakeAvailableKHR = 0x00002000,
-        MakeVisible = 0x00004000,
-        MakeVisibleKHR = 0x00004000,
-        Volatile = 0x00008000,
-    },
-
-    MemoryAccessShift = {
-        Volatile = 0,
-        Aligned = 1,
-        Nontemporal = 2,
-        MakePointerAvailable = 3,
-        MakePointerAvailableKHR = 3,
-        MakePointerVisible = 4,
-        MakePointerVisibleKHR = 4,
-        NonPrivatePointer = 5,
-        NonPrivatePointerKHR = 5,
-    },
-
-    MemoryAccessMask = {
-        MaskNone = 0,
-        Volatile = 0x00000001,
-        Aligned = 0x00000002,
-        Nontemporal = 0x00000004,
-        MakePointerAvailable = 0x00000008,
-        MakePointerAvailableKHR = 0x00000008,
-        MakePointerVisible = 0x00000010,
-        MakePointerVisibleKHR = 0x00000010,
-        NonPrivatePointer = 0x00000020,
-        NonPrivatePointerKHR = 0x00000020,
-    },
-
-    Scope = {
-        CrossDevice = 0,
-        Device = 1,
-        Workgroup = 2,
-        Subgroup = 3,
-        Invocation = 4,
-        QueueFamily = 5,
-        QueueFamilyKHR = 5,
-        ShaderCallKHR = 6,
-    },
-
-    GroupOperation = {
-        Reduce = 0,
-        InclusiveScan = 1,
-        ExclusiveScan = 2,
-        ClusteredReduce = 3,
-        PartitionedReduceNV = 6,
-        PartitionedInclusiveScanNV = 7,
-        PartitionedExclusiveScanNV = 8,
-    },
-
-    KernelEnqueueFlags = {
-        NoWait = 0,
-        WaitKernel = 1,
-        WaitWorkGroup = 2,
-    },
-
-    KernelProfilingInfoShift = {
-        CmdExecTime = 0,
-    },
-
-    KernelProfilingInfoMask = {
-        MaskNone = 0,
-        CmdExecTime = 0x00000001,
-    },
-
-    Capability = {
-        Matrix = 0,
-        Shader = 1,
-        Geometry = 2,
-        Tessellation = 3,
-        Addresses = 4,
-        Linkage = 5,
-        Kernel = 6,
-        Vector16 = 7,
-        Float16Buffer = 8,
-        Float16 = 9,
-        Float64 = 10,
-        Int64 = 11,
-        Int64Atomics = 12,
-        ImageBasic = 13,
-        ImageReadWrite = 14,
-        ImageMipmap = 15,
-        Pipes = 17,
-        Groups = 18,
-        DeviceEnqueue = 19,
-        LiteralSampler = 20,
-        AtomicStorage = 21,
-        Int16 = 22,
-        TessellationPointSize = 23,
-        GeometryPointSize = 24,
-        ImageGatherExtended = 25,
-        StorageImageMultisample = 27,
-        UniformBufferArrayDynamicIndexing = 28,
-        SampledImageArrayDynamicIndexing = 29,
-        StorageBufferArrayDynamicIndexing = 30,
-        StorageImageArrayDynamicIndexing = 31,
-        ClipDistance = 32,
-        CullDistance = 33,
-        ImageCubeArray = 34,
-        SampleRateShading = 35,
-        ImageRect = 36,
-        SampledRect = 37,
-        GenericPointer = 38,
-        Int8 = 39,
-        InputAttachment = 40,
-        SparseResidency = 41,
-        MinLod = 42,
-        Sampled1D = 43,
-        Image1D = 44,
-        SampledCubeArray = 45,
-        SampledBuffer = 46,
-        ImageBuffer = 47,
-        ImageMSArray = 48,
-        StorageImageExtendedFormats = 49,
-        ImageQuery = 50,
-        DerivativeControl = 51,
-        InterpolationFunction = 52,
-        TransformFeedback = 53,
-        GeometryStreams = 54,
-        StorageImageReadWithoutFormat = 55,
-        StorageImageWriteWithoutFormat = 56,
-        MultiViewport = 57,
-        SubgroupDispatch = 58,
-        NamedBarrier = 59,
-        PipeStorage = 60,
-        GroupNonUniform = 61,
-        GroupNonUniformVote = 62,
-        GroupNonUniformArithmetic = 63,
-        GroupNonUniformBallot = 64,
-        GroupNonUniformShuffle = 65,
-        GroupNonUniformShuffleRelative = 66,
-        GroupNonUniformClustered = 67,
-        GroupNonUniformQuad = 68,
-        ShaderLayer = 69,
-        ShaderViewportIndex = 70,
-        SubgroupBallotKHR = 4423,
-        DrawParameters = 4427,
-        SubgroupVoteKHR = 4431,
-        StorageBuffer16BitAccess = 4433,
-        StorageUniformBufferBlock16 = 4433,
-        StorageUniform16 = 4434,
-        UniformAndStorageBuffer16BitAccess = 4434,
-        StoragePushConstant16 = 4435,
-        StorageInputOutput16 = 4436,
-        DeviceGroup = 4437,
-        MultiView = 4439,
-        VariablePointersStorageBuffer = 4441,
-        VariablePointers = 4442,
-        AtomicStorageOps = 4445,
-        SampleMaskPostDepthCoverage = 4447,
-        StorageBuffer8BitAccess = 4448,
-        UniformAndStorageBuffer8BitAccess = 4449,
-        StoragePushConstant8 = 4450,
-        DenormPreserve = 4464,
-        DenormFlushToZero = 4465,
-        SignedZeroInfNanPreserve = 4466,
-        RoundingModeRTE = 4467,
-        RoundingModeRTZ = 4468,
-        RayQueryProvisionalKHR = 4471,
-        RayTraversalPrimitiveCullingProvisionalKHR = 4478,
-        Float16ImageAMD = 5008,
-        ImageGatherBiasLodAMD = 5009,
-        FragmentMaskAMD = 5010,
-        StencilExportEXT = 5013,
-        ImageReadWriteLodAMD = 5015,
-        ShaderClockKHR = 5055,
-        SampleMaskOverrideCoverageNV = 5249,
-        GeometryShaderPassthroughNV = 5251,
-        ShaderViewportIndexLayerEXT = 5254,
-        ShaderViewportIndexLayerNV = 5254,
-        ShaderViewportMaskNV = 5255,
-        ShaderStereoViewNV = 5259,
-        PerViewAttributesNV = 5260,
-        FragmentFullyCoveredEXT = 5265,
-        MeshShadingNV = 5266,
-        ImageFootprintNV = 5282,
-        FragmentBarycentricNV = 5284,
-        ComputeDerivativeGroupQuadsNV = 5288,
-        FragmentDensityEXT = 5291,
-        ShadingRateNV = 5291,
-        GroupNonUniformPartitionedNV = 5297,
-        ShaderNonUniform = 5301,
-        ShaderNonUniformEXT = 5301,
-        RuntimeDescriptorArray = 5302,
-        RuntimeDescriptorArrayEXT = 5302,
-        InputAttachmentArrayDynamicIndexing = 5303,
-        InputAttachmentArrayDynamicIndexingEXT = 5303,
-        UniformTexelBufferArrayDynamicIndexing = 5304,
-        UniformTexelBufferArrayDynamicIndexingEXT = 5304,
-        StorageTexelBufferArrayDynamicIndexing = 5305,
-        StorageTexelBufferArrayDynamicIndexingEXT = 5305,
-        UniformBufferArrayNonUniformIndexing = 5306,
-        UniformBufferArrayNonUniformIndexingEXT = 5306,
-        SampledImageArrayNonUniformIndexing = 5307,
-        SampledImageArrayNonUniformIndexingEXT = 5307,
-        StorageBufferArrayNonUniformIndexing = 5308,
-        StorageBufferArrayNonUniformIndexingEXT = 5308,
-        StorageImageArrayNonUniformIndexing = 5309,
-        StorageImageArrayNonUniformIndexingEXT = 5309,
-        InputAttachmentArrayNonUniformIndexing = 5310,
-        InputAttachmentArrayNonUniformIndexingEXT = 5310,
-        UniformTexelBufferArrayNonUniformIndexing = 5311,
-        UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
-        StorageTexelBufferArrayNonUniformIndexing = 5312,
-        StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
-        RayTracingNV = 5340,
-        VulkanMemoryModel = 5345,
-        VulkanMemoryModelKHR = 5345,
-        VulkanMemoryModelDeviceScope = 5346,
-        VulkanMemoryModelDeviceScopeKHR = 5346,
-        PhysicalStorageBufferAddresses = 5347,
-        PhysicalStorageBufferAddressesEXT = 5347,
-        ComputeDerivativeGroupLinearNV = 5350,
-        RayTracingProvisionalKHR = 5353,
-        CooperativeMatrixNV = 5357,
-        FragmentShaderSampleInterlockEXT = 5363,
-        FragmentShaderShadingRateInterlockEXT = 5372,
-        ShaderSMBuiltinsNV = 5373,
-        FragmentShaderPixelInterlockEXT = 5378,
-        DemoteToHelperInvocationEXT = 5379,
-        SubgroupShuffleINTEL = 5568,
-        SubgroupBufferBlockIOINTEL = 5569,
-        SubgroupImageBlockIOINTEL = 5570,
-        SubgroupImageMediaBlockIOINTEL = 5579,
-        IntegerFunctions2INTEL = 5584,
-        SubgroupAvcMotionEstimationINTEL = 5696,
-        SubgroupAvcMotionEstimationIntraINTEL = 5697,
-        SubgroupAvcMotionEstimationChromaINTEL = 5698,
-    },
-
-    RayFlagsShift = {
-        OpaqueKHR = 0,
-        NoOpaqueKHR = 1,
-        TerminateOnFirstHitKHR = 2,
-        SkipClosestHitShaderKHR = 3,
-        CullBackFacingTrianglesKHR = 4,
-        CullFrontFacingTrianglesKHR = 5,
-        CullOpaqueKHR = 6,
-        CullNoOpaqueKHR = 7,
-        SkipTrianglesKHR = 8,
-        SkipAABBsKHR = 9,
-    },
-
-    RayFlagsMask = {
-        MaskNone = 0,
-        OpaqueKHR = 0x00000001,
-        NoOpaqueKHR = 0x00000002,
-        TerminateOnFirstHitKHR = 0x00000004,
-        SkipClosestHitShaderKHR = 0x00000008,
-        CullBackFacingTrianglesKHR = 0x00000010,
-        CullFrontFacingTrianglesKHR = 0x00000020,
-        CullOpaqueKHR = 0x00000040,
-        CullNoOpaqueKHR = 0x00000080,
-        SkipTrianglesKHR = 0x00000100,
-        SkipAABBsKHR = 0x00000200,
-    },
-
-    RayQueryIntersection = {
-        RayQueryCandidateIntersectionKHR = 0,
-        RayQueryCommittedIntersectionKHR = 1,
-    },
-
-    RayQueryCommittedIntersectionType = {
-        RayQueryCommittedIntersectionNoneKHR = 0,
-        RayQueryCommittedIntersectionTriangleKHR = 1,
-        RayQueryCommittedIntersectionGeneratedKHR = 2,
-    },
-
-    RayQueryCandidateIntersectionType = {
-        RayQueryCandidateIntersectionTriangleKHR = 0,
-        RayQueryCandidateIntersectionAABBKHR = 1,
-    },
-
-    Op = {
-        OpNop = 0,
-        OpUndef = 1,
-        OpSourceContinued = 2,
-        OpSource = 3,
-        OpSourceExtension = 4,
-        OpName = 5,
-        OpMemberName = 6,
-        OpString = 7,
-        OpLine = 8,
-        OpExtension = 10,
-        OpExtInstImport = 11,
-        OpExtInst = 12,
-        OpMemoryModel = 14,
-        OpEntryPoint = 15,
-        OpExecutionMode = 16,
-        OpCapability = 17,
-        OpTypeVoid = 19,
-        OpTypeBool = 20,
-        OpTypeInt = 21,
-        OpTypeFloat = 22,
-        OpTypeVector = 23,
-        OpTypeMatrix = 24,
-        OpTypeImage = 25,
-        OpTypeSampler = 26,
-        OpTypeSampledImage = 27,
-        OpTypeArray = 28,
-        OpTypeRuntimeArray = 29,
-        OpTypeStruct = 30,
-        OpTypeOpaque = 31,
-        OpTypePointer = 32,
-        OpTypeFunction = 33,
-        OpTypeEvent = 34,
-        OpTypeDeviceEvent = 35,
-        OpTypeReserveId = 36,
-        OpTypeQueue = 37,
-        OpTypePipe = 38,
-        OpTypeForwardPointer = 39,
-        OpConstantTrue = 41,
-        OpConstantFalse = 42,
-        OpConstant = 43,
-        OpConstantComposite = 44,
-        OpConstantSampler = 45,
-        OpConstantNull = 46,
-        OpSpecConstantTrue = 48,
-        OpSpecConstantFalse = 49,
-        OpSpecConstant = 50,
-        OpSpecConstantComposite = 51,
-        OpSpecConstantOp = 52,
-        OpFunction = 54,
-        OpFunctionParameter = 55,
-        OpFunctionEnd = 56,
-        OpFunctionCall = 57,
-        OpVariable = 59,
-        OpImageTexelPointer = 60,
-        OpLoad = 61,
-        OpStore = 62,
-        OpCopyMemory = 63,
-        OpCopyMemorySized = 64,
-        OpAccessChain = 65,
-        OpInBoundsAccessChain = 66,
-        OpPtrAccessChain = 67,
-        OpArrayLength = 68,
-        OpGenericPtrMemSemantics = 69,
-        OpInBoundsPtrAccessChain = 70,
-        OpDecorate = 71,
-        OpMemberDecorate = 72,
-        OpDecorationGroup = 73,
-        OpGroupDecorate = 74,
-        OpGroupMemberDecorate = 75,
-        OpVectorExtractDynamic = 77,
-        OpVectorInsertDynamic = 78,
-        OpVectorShuffle = 79,
-        OpCompositeConstruct = 80,
-        OpCompositeExtract = 81,
-        OpCompositeInsert = 82,
-        OpCopyObject = 83,
-        OpTranspose = 84,
-        OpSampledImage = 86,
-        OpImageSampleImplicitLod = 87,
-        OpImageSampleExplicitLod = 88,
-        OpImageSampleDrefImplicitLod = 89,
-        OpImageSampleDrefExplicitLod = 90,
-        OpImageSampleProjImplicitLod = 91,
-        OpImageSampleProjExplicitLod = 92,
-        OpImageSampleProjDrefImplicitLod = 93,
-        OpImageSampleProjDrefExplicitLod = 94,
-        OpImageFetch = 95,
-        OpImageGather = 96,
-        OpImageDrefGather = 97,
-        OpImageRead = 98,
-        OpImageWrite = 99,
-        OpImage = 100,
-        OpImageQueryFormat = 101,
-        OpImageQueryOrder = 102,
-        OpImageQuerySizeLod = 103,
-        OpImageQuerySize = 104,
-        OpImageQueryLod = 105,
-        OpImageQueryLevels = 106,
-        OpImageQuerySamples = 107,
-        OpConvertFToU = 109,
-        OpConvertFToS = 110,
-        OpConvertSToF = 111,
-        OpConvertUToF = 112,
-        OpUConvert = 113,
-        OpSConvert = 114,
-        OpFConvert = 115,
-        OpQuantizeToF16 = 116,
-        OpConvertPtrToU = 117,
-        OpSatConvertSToU = 118,
-        OpSatConvertUToS = 119,
-        OpConvertUToPtr = 120,
-        OpPtrCastToGeneric = 121,
-        OpGenericCastToPtr = 122,
-        OpGenericCastToPtrExplicit = 123,
-        OpBitcast = 124,
-        OpSNegate = 126,
-        OpFNegate = 127,
-        OpIAdd = 128,
-        OpFAdd = 129,
-        OpISub = 130,
-        OpFSub = 131,
-        OpIMul = 132,
-        OpFMul = 133,
-        OpUDiv = 134,
-        OpSDiv = 135,
-        OpFDiv = 136,
-        OpUMod = 137,
-        OpSRem = 138,
-        OpSMod = 139,
-        OpFRem = 140,
-        OpFMod = 141,
-        OpVectorTimesScalar = 142,
-        OpMatrixTimesScalar = 143,
-        OpVectorTimesMatrix = 144,
-        OpMatrixTimesVector = 145,
-        OpMatrixTimesMatrix = 146,
-        OpOuterProduct = 147,
-        OpDot = 148,
-        OpIAddCarry = 149,
-        OpISubBorrow = 150,
-        OpUMulExtended = 151,
-        OpSMulExtended = 152,
-        OpAny = 154,
-        OpAll = 155,
-        OpIsNan = 156,
-        OpIsInf = 157,
-        OpIsFinite = 158,
-        OpIsNormal = 159,
-        OpSignBitSet = 160,
-        OpLessOrGreater = 161,
-        OpOrdered = 162,
-        OpUnordered = 163,
-        OpLogicalEqual = 164,
-        OpLogicalNotEqual = 165,
-        OpLogicalOr = 166,
-        OpLogicalAnd = 167,
-        OpLogicalNot = 168,
-        OpSelect = 169,
-        OpIEqual = 170,
-        OpINotEqual = 171,
-        OpUGreaterThan = 172,
-        OpSGreaterThan = 173,
-        OpUGreaterThanEqual = 174,
-        OpSGreaterThanEqual = 175,
-        OpULessThan = 176,
-        OpSLessThan = 177,
-        OpULessThanEqual = 178,
-        OpSLessThanEqual = 179,
-        OpFOrdEqual = 180,
-        OpFUnordEqual = 181,
-        OpFOrdNotEqual = 182,
-        OpFUnordNotEqual = 183,
-        OpFOrdLessThan = 184,
-        OpFUnordLessThan = 185,
-        OpFOrdGreaterThan = 186,
-        OpFUnordGreaterThan = 187,
-        OpFOrdLessThanEqual = 188,
-        OpFUnordLessThanEqual = 189,
-        OpFOrdGreaterThanEqual = 190,
-        OpFUnordGreaterThanEqual = 191,
-        OpShiftRightLogical = 194,
-        OpShiftRightArithmetic = 195,
-        OpShiftLeftLogical = 196,
-        OpBitwiseOr = 197,
-        OpBitwiseXor = 198,
-        OpBitwiseAnd = 199,
-        OpNot = 200,
-        OpBitFieldInsert = 201,
-        OpBitFieldSExtract = 202,
-        OpBitFieldUExtract = 203,
-        OpBitReverse = 204,
-        OpBitCount = 205,
-        OpDPdx = 207,
-        OpDPdy = 208,
-        OpFwidth = 209,
-        OpDPdxFine = 210,
-        OpDPdyFine = 211,
-        OpFwidthFine = 212,
-        OpDPdxCoarse = 213,
-        OpDPdyCoarse = 214,
-        OpFwidthCoarse = 215,
-        OpEmitVertex = 218,
-        OpEndPrimitive = 219,
-        OpEmitStreamVertex = 220,
-        OpEndStreamPrimitive = 221,
-        OpControlBarrier = 224,
-        OpMemoryBarrier = 225,
-        OpAtomicLoad = 227,
-        OpAtomicStore = 228,
-        OpAtomicExchange = 229,
-        OpAtomicCompareExchange = 230,
-        OpAtomicCompareExchangeWeak = 231,
-        OpAtomicIIncrement = 232,
-        OpAtomicIDecrement = 233,
-        OpAtomicIAdd = 234,
-        OpAtomicISub = 235,
-        OpAtomicSMin = 236,
-        OpAtomicUMin = 237,
-        OpAtomicSMax = 238,
-        OpAtomicUMax = 239,
-        OpAtomicAnd = 240,
-        OpAtomicOr = 241,
-        OpAtomicXor = 242,
-        OpPhi = 245,
-        OpLoopMerge = 246,
-        OpSelectionMerge = 247,
-        OpLabel = 248,
-        OpBranch = 249,
-        OpBranchConditional = 250,
-        OpSwitch = 251,
-        OpKill = 252,
-        OpReturn = 253,
-        OpReturnValue = 254,
-        OpUnreachable = 255,
-        OpLifetimeStart = 256,
-        OpLifetimeStop = 257,
-        OpGroupAsyncCopy = 259,
-        OpGroupWaitEvents = 260,
-        OpGroupAll = 261,
-        OpGroupAny = 262,
-        OpGroupBroadcast = 263,
-        OpGroupIAdd = 264,
-        OpGroupFAdd = 265,
-        OpGroupFMin = 266,
-        OpGroupUMin = 267,
-        OpGroupSMin = 268,
-        OpGroupFMax = 269,
-        OpGroupUMax = 270,
-        OpGroupSMax = 271,
-        OpReadPipe = 274,
-        OpWritePipe = 275,
-        OpReservedReadPipe = 276,
-        OpReservedWritePipe = 277,
-        OpReserveReadPipePackets = 278,
-        OpReserveWritePipePackets = 279,
-        OpCommitReadPipe = 280,
-        OpCommitWritePipe = 281,
-        OpIsValidReserveId = 282,
-        OpGetNumPipePackets = 283,
-        OpGetMaxPipePackets = 284,
-        OpGroupReserveReadPipePackets = 285,
-        OpGroupReserveWritePipePackets = 286,
-        OpGroupCommitReadPipe = 287,
-        OpGroupCommitWritePipe = 288,
-        OpEnqueueMarker = 291,
-        OpEnqueueKernel = 292,
-        OpGetKernelNDrangeSubGroupCount = 293,
-        OpGetKernelNDrangeMaxSubGroupSize = 294,
-        OpGetKernelWorkGroupSize = 295,
-        OpGetKernelPreferredWorkGroupSizeMultiple = 296,
-        OpRetainEvent = 297,
-        OpReleaseEvent = 298,
-        OpCreateUserEvent = 299,
-        OpIsValidEvent = 300,
-        OpSetUserEventStatus = 301,
-        OpCaptureEventProfilingInfo = 302,
-        OpGetDefaultQueue = 303,
-        OpBuildNDRange = 304,
-        OpImageSparseSampleImplicitLod = 305,
-        OpImageSparseSampleExplicitLod = 306,
-        OpImageSparseSampleDrefImplicitLod = 307,
-        OpImageSparseSampleDrefExplicitLod = 308,
-        OpImageSparseSampleProjImplicitLod = 309,
-        OpImageSparseSampleProjExplicitLod = 310,
-        OpImageSparseSampleProjDrefImplicitLod = 311,
-        OpImageSparseSampleProjDrefExplicitLod = 312,
-        OpImageSparseFetch = 313,
-        OpImageSparseGather = 314,
-        OpImageSparseDrefGather = 315,
-        OpImageSparseTexelsResident = 316,
-        OpNoLine = 317,
-        OpAtomicFlagTestAndSet = 318,
-        OpAtomicFlagClear = 319,
-        OpImageSparseRead = 320,
-        OpSizeOf = 321,
-        OpTypePipeStorage = 322,
-        OpConstantPipeStorage = 323,
-        OpCreatePipeFromPipeStorage = 324,
-        OpGetKernelLocalSizeForSubgroupCount = 325,
-        OpGetKernelMaxNumSubgroups = 326,
-        OpTypeNamedBarrier = 327,
-        OpNamedBarrierInitialize = 328,
-        OpMemoryNamedBarrier = 329,
-        OpModuleProcessed = 330,
-        OpExecutionModeId = 331,
-        OpDecorateId = 332,
-        OpGroupNonUniformElect = 333,
-        OpGroupNonUniformAll = 334,
-        OpGroupNonUniformAny = 335,
-        OpGroupNonUniformAllEqual = 336,
-        OpGroupNonUniformBroadcast = 337,
-        OpGroupNonUniformBroadcastFirst = 338,
-        OpGroupNonUniformBallot = 339,
-        OpGroupNonUniformInverseBallot = 340,
-        OpGroupNonUniformBallotBitExtract = 341,
-        OpGroupNonUniformBallotBitCount = 342,
-        OpGroupNonUniformBallotFindLSB = 343,
-        OpGroupNonUniformBallotFindMSB = 344,
-        OpGroupNonUniformShuffle = 345,
-        OpGroupNonUniformShuffleXor = 346,
-        OpGroupNonUniformShuffleUp = 347,
-        OpGroupNonUniformShuffleDown = 348,
-        OpGroupNonUniformIAdd = 349,
-        OpGroupNonUniformFAdd = 350,
-        OpGroupNonUniformIMul = 351,
-        OpGroupNonUniformFMul = 352,
-        OpGroupNonUniformSMin = 353,
-        OpGroupNonUniformUMin = 354,
-        OpGroupNonUniformFMin = 355,
-        OpGroupNonUniformSMax = 356,
-        OpGroupNonUniformUMax = 357,
-        OpGroupNonUniformFMax = 358,
-        OpGroupNonUniformBitwiseAnd = 359,
-        OpGroupNonUniformBitwiseOr = 360,
-        OpGroupNonUniformBitwiseXor = 361,
-        OpGroupNonUniformLogicalAnd = 362,
-        OpGroupNonUniformLogicalOr = 363,
-        OpGroupNonUniformLogicalXor = 364,
-        OpGroupNonUniformQuadBroadcast = 365,
-        OpGroupNonUniformQuadSwap = 366,
-        OpCopyLogical = 400,
-        OpPtrEqual = 401,
-        OpPtrNotEqual = 402,
-        OpPtrDiff = 403,
-        OpSubgroupBallotKHR = 4421,
-        OpSubgroupFirstInvocationKHR = 4422,
-        OpSubgroupAllKHR = 4428,
-        OpSubgroupAnyKHR = 4429,
-        OpSubgroupAllEqualKHR = 4430,
-        OpSubgroupReadInvocationKHR = 4432,
-        OpTypeRayQueryProvisionalKHR = 4472,
-        OpRayQueryInitializeKHR = 4473,
-        OpRayQueryTerminateKHR = 4474,
-        OpRayQueryGenerateIntersectionKHR = 4475,
-        OpRayQueryConfirmIntersectionKHR = 4476,
-        OpRayQueryProceedKHR = 4477,
-        OpRayQueryGetIntersectionTypeKHR = 4479,
-        OpGroupIAddNonUniformAMD = 5000,
-        OpGroupFAddNonUniformAMD = 5001,
-        OpGroupFMinNonUniformAMD = 5002,
-        OpGroupUMinNonUniformAMD = 5003,
-        OpGroupSMinNonUniformAMD = 5004,
-        OpGroupFMaxNonUniformAMD = 5005,
-        OpGroupUMaxNonUniformAMD = 5006,
-        OpGroupSMaxNonUniformAMD = 5007,
-        OpFragmentMaskFetchAMD = 5011,
-        OpFragmentFetchAMD = 5012,
-        OpReadClockKHR = 5056,
-        OpImageSampleFootprintNV = 5283,
-        OpGroupNonUniformPartitionNV = 5296,
-        OpWritePackedPrimitiveIndices4x8NV = 5299,
-        OpReportIntersectionKHR = 5334,
-        OpReportIntersectionNV = 5334,
-        OpIgnoreIntersectionKHR = 5335,
-        OpIgnoreIntersectionNV = 5335,
-        OpTerminateRayKHR = 5336,
-        OpTerminateRayNV = 5336,
-        OpTraceNV = 5337,
-        OpTraceRayKHR = 5337,
-        OpTypeAccelerationStructureKHR = 5341,
-        OpTypeAccelerationStructureNV = 5341,
-        OpExecuteCallableKHR = 5344,
-        OpExecuteCallableNV = 5344,
-        OpTypeCooperativeMatrixNV = 5358,
-        OpCooperativeMatrixLoadNV = 5359,
-        OpCooperativeMatrixStoreNV = 5360,
-        OpCooperativeMatrixMulAddNV = 5361,
-        OpCooperativeMatrixLengthNV = 5362,
-        OpBeginInvocationInterlockEXT = 5364,
-        OpEndInvocationInterlockEXT = 5365,
-        OpDemoteToHelperInvocationEXT = 5380,
-        OpIsHelperInvocationEXT = 5381,
-        OpSubgroupShuffleINTEL = 5571,
-        OpSubgroupShuffleDownINTEL = 5572,
-        OpSubgroupShuffleUpINTEL = 5573,
-        OpSubgroupShuffleXorINTEL = 5574,
-        OpSubgroupBlockReadINTEL = 5575,
-        OpSubgroupBlockWriteINTEL = 5576,
-        OpSubgroupImageBlockReadINTEL = 5577,
-        OpSubgroupImageBlockWriteINTEL = 5578,
-        OpSubgroupImageMediaBlockReadINTEL = 5580,
-        OpSubgroupImageMediaBlockWriteINTEL = 5581,
-        OpUCountLeadingZerosINTEL = 5585,
-        OpUCountTrailingZerosINTEL = 5586,
-        OpAbsISubINTEL = 5587,
-        OpAbsUSubINTEL = 5588,
-        OpIAddSatINTEL = 5589,
-        OpUAddSatINTEL = 5590,
-        OpIAverageINTEL = 5591,
-        OpUAverageINTEL = 5592,
-        OpIAverageRoundedINTEL = 5593,
-        OpUAverageRoundedINTEL = 5594,
-        OpISubSatINTEL = 5595,
-        OpUSubSatINTEL = 5596,
-        OpIMul32x16INTEL = 5597,
-        OpUMul32x16INTEL = 5598,
-        OpDecorateString = 5632,
-        OpDecorateStringGOOGLE = 5632,
-        OpMemberDecorateString = 5633,
-        OpMemberDecorateStringGOOGLE = 5633,
-        OpVmeImageINTEL = 5699,
-        OpTypeVmeImageINTEL = 5700,
-        OpTypeAvcImePayloadINTEL = 5701,
-        OpTypeAvcRefPayloadINTEL = 5702,
-        OpTypeAvcSicPayloadINTEL = 5703,
-        OpTypeAvcMcePayloadINTEL = 5704,
-        OpTypeAvcMceResultINTEL = 5705,
-        OpTypeAvcImeResultINTEL = 5706,
-        OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
-        OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
-        OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
-        OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
-        OpTypeAvcRefResultINTEL = 5711,
-        OpTypeAvcSicResultINTEL = 5712,
-        OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
-        OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
-        OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
-        OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
-        OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
-        OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
-        OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
-        OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
-        OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
-        OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
-        OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
-        OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
-        OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
-        OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
-        OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
-        OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
-        OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
-        OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
-        OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
-        OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
-        OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
-        OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
-        OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
-        OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
-        OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
-        OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
-        OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
-        OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
-        OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
-        OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
-        OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
-        OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
-        OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
-        OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
-        OpSubgroupAvcImeInitializeINTEL = 5747,
-        OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
-        OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
-        OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
-        OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
-        OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
-        OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
-        OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
-        OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
-        OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
-        OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
-        OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
-        OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
-        OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
-        OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
-        OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
-        OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
-        OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
-        OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
-        OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
-        OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
-        OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
-        OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
-        OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
-        OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
-        OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
-        OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
-        OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
-        OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
-        OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
-        OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
-        OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
-        OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
-        OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
-        OpSubgroupAvcFmeInitializeINTEL = 5781,
-        OpSubgroupAvcBmeInitializeINTEL = 5782,
-        OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
-        OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
-        OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
-        OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
-        OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
-        OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
-        OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
-        OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
-        OpSubgroupAvcSicInitializeINTEL = 5791,
-        OpSubgroupAvcSicConfigureSkcINTEL = 5792,
-        OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
-        OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
-        OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
-        OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
-        OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
-        OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
-        OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
-        OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
-        OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
-        OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
-        OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
-        OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
-        OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
-        OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
-        OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
-        OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
-        OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
-        OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
-        OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
-        OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
-        OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
-        OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
-        OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
-        OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
-        OpRayQueryGetRayTMinKHR = 6016,
-        OpRayQueryGetRayFlagsKHR = 6017,
-        OpRayQueryGetIntersectionTKHR = 6018,
-        OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
-        OpRayQueryGetIntersectionInstanceIdKHR = 6020,
-        OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
-        OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
-        OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
-        OpRayQueryGetIntersectionBarycentricsKHR = 6024,
-        OpRayQueryGetIntersectionFrontFaceKHR = 6025,
-        OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
-        OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
-        OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
-        OpRayQueryGetWorldRayDirectionKHR = 6029,
-        OpRayQueryGetWorldRayOriginKHR = 6030,
-        OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
-        OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
-    },
-
-}
-
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
deleted file mode 100644
index 911912b..0000000
--- a/include/spirv/unified1/spirv.py
+++ /dev/null
@@ -1,1500 +0,0 @@
-# Copyright (c) 2014-2020 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"),
-# to deal in the Materials without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Materials, and to permit persons to whom the
-# Materials are furnished to do so, subject to the following conditions:
-# 
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Materials.
-# 
-# MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-# STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-# HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
-# 
-# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
-# IN THE MATERIALS.
-
-# This header is automatically generated by the same tool that creates
-# the Binary Section of the SPIR-V specification.
-
-# Enumeration tokens for SPIR-V, in various styles:
-#   C, C++, C++11, JSON, Lua, Python, C#, D
-# 
-# - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-# - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-# - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-# - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-# - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-# - C# will use enum classes in the Specification class located in the "Spv" namespace,
-#     e.g.: Spv.Specification.SourceLanguage.GLSL
-# - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
-# 
-# Some tokens act like mask values, which can be OR'd together,
-# while others are mutually exclusive.  The mask-like ones have
-# "Mask" in their name, and a parallel enum that has the shift
-# amount (1 << x) for each corresponding enumerant.
-
-spv = {
-    'MagicNumber' : 0x07230203,
-    'Version' : 0x00010500,
-    'Revision' : 3,
-    'OpCodeMask' : 0xffff,
-    'WordCountShift' : 16,
-
-    'SourceLanguage' : {
-        'Unknown' : 0,
-        'ESSL' : 1,
-        'GLSL' : 2,
-        'OpenCL_C' : 3,
-        'OpenCL_CPP' : 4,
-        'HLSL' : 5,
-    },
-
-    'ExecutionModel' : {
-        'Vertex' : 0,
-        'TessellationControl' : 1,
-        'TessellationEvaluation' : 2,
-        'Geometry' : 3,
-        'Fragment' : 4,
-        'GLCompute' : 5,
-        'Kernel' : 6,
-        'TaskNV' : 5267,
-        'MeshNV' : 5268,
-        'RayGenerationKHR' : 5313,
-        'RayGenerationNV' : 5313,
-        'IntersectionKHR' : 5314,
-        'IntersectionNV' : 5314,
-        'AnyHitKHR' : 5315,
-        'AnyHitNV' : 5315,
-        'ClosestHitKHR' : 5316,
-        'ClosestHitNV' : 5316,
-        'MissKHR' : 5317,
-        'MissNV' : 5317,
-        'CallableKHR' : 5318,
-        'CallableNV' : 5318,
-    },
-
-    'AddressingModel' : {
-        'Logical' : 0,
-        'Physical32' : 1,
-        'Physical64' : 2,
-        'PhysicalStorageBuffer64' : 5348,
-        'PhysicalStorageBuffer64EXT' : 5348,
-    },
-
-    'MemoryModel' : {
-        'Simple' : 0,
-        'GLSL450' : 1,
-        'OpenCL' : 2,
-        'Vulkan' : 3,
-        'VulkanKHR' : 3,
-    },
-
-    'ExecutionMode' : {
-        'Invocations' : 0,
-        'SpacingEqual' : 1,
-        'SpacingFractionalEven' : 2,
-        'SpacingFractionalOdd' : 3,
-        'VertexOrderCw' : 4,
-        'VertexOrderCcw' : 5,
-        'PixelCenterInteger' : 6,
-        'OriginUpperLeft' : 7,
-        'OriginLowerLeft' : 8,
-        'EarlyFragmentTests' : 9,
-        'PointMode' : 10,
-        'Xfb' : 11,
-        'DepthReplacing' : 12,
-        'DepthGreater' : 14,
-        'DepthLess' : 15,
-        'DepthUnchanged' : 16,
-        'LocalSize' : 17,
-        'LocalSizeHint' : 18,
-        'InputPoints' : 19,
-        'InputLines' : 20,
-        'InputLinesAdjacency' : 21,
-        'Triangles' : 22,
-        'InputTrianglesAdjacency' : 23,
-        'Quads' : 24,
-        'Isolines' : 25,
-        'OutputVertices' : 26,
-        'OutputPoints' : 27,
-        'OutputLineStrip' : 28,
-        'OutputTriangleStrip' : 29,
-        'VecTypeHint' : 30,
-        'ContractionOff' : 31,
-        'Initializer' : 33,
-        'Finalizer' : 34,
-        'SubgroupSize' : 35,
-        'SubgroupsPerWorkgroup' : 36,
-        'SubgroupsPerWorkgroupId' : 37,
-        'LocalSizeId' : 38,
-        'LocalSizeHintId' : 39,
-        'PostDepthCoverage' : 4446,
-        'DenormPreserve' : 4459,
-        'DenormFlushToZero' : 4460,
-        'SignedZeroInfNanPreserve' : 4461,
-        'RoundingModeRTE' : 4462,
-        'RoundingModeRTZ' : 4463,
-        'StencilRefReplacingEXT' : 5027,
-        'OutputLinesNV' : 5269,
-        'OutputPrimitivesNV' : 5270,
-        'DerivativeGroupQuadsNV' : 5289,
-        'DerivativeGroupLinearNV' : 5290,
-        'OutputTrianglesNV' : 5298,
-        'PixelInterlockOrderedEXT' : 5366,
-        'PixelInterlockUnorderedEXT' : 5367,
-        'SampleInterlockOrderedEXT' : 5368,
-        'SampleInterlockUnorderedEXT' : 5369,
-        'ShadingRateInterlockOrderedEXT' : 5370,
-        'ShadingRateInterlockUnorderedEXT' : 5371,
-    },
-
-    'StorageClass' : {
-        'UniformConstant' : 0,
-        'Input' : 1,
-        'Uniform' : 2,
-        'Output' : 3,
-        'Workgroup' : 4,
-        'CrossWorkgroup' : 5,
-        'Private' : 6,
-        'Function' : 7,
-        'Generic' : 8,
-        'PushConstant' : 9,
-        'AtomicCounter' : 10,
-        'Image' : 11,
-        'StorageBuffer' : 12,
-        'CallableDataKHR' : 5328,
-        'CallableDataNV' : 5328,
-        'IncomingCallableDataKHR' : 5329,
-        'IncomingCallableDataNV' : 5329,
-        'RayPayloadKHR' : 5338,
-        'RayPayloadNV' : 5338,
-        'HitAttributeKHR' : 5339,
-        'HitAttributeNV' : 5339,
-        'IncomingRayPayloadKHR' : 5342,
-        'IncomingRayPayloadNV' : 5342,
-        'ShaderRecordBufferKHR' : 5343,
-        'ShaderRecordBufferNV' : 5343,
-        'PhysicalStorageBuffer' : 5349,
-        'PhysicalStorageBufferEXT' : 5349,
-    },
-
-    'Dim' : {
-        'Dim1D' : 0,
-        'Dim2D' : 1,
-        'Dim3D' : 2,
-        'Cube' : 3,
-        'Rect' : 4,
-        'Buffer' : 5,
-        'SubpassData' : 6,
-    },
-
-    'SamplerAddressingMode' : {
-        'None' : 0,
-        'ClampToEdge' : 1,
-        'Clamp' : 2,
-        'Repeat' : 3,
-        'RepeatMirrored' : 4,
-    },
-
-    'SamplerFilterMode' : {
-        'Nearest' : 0,
-        'Linear' : 1,
-    },
-
-    'ImageFormat' : {
-        'Unknown' : 0,
-        'Rgba32f' : 1,
-        'Rgba16f' : 2,
-        'R32f' : 3,
-        'Rgba8' : 4,
-        'Rgba8Snorm' : 5,
-        'Rg32f' : 6,
-        'Rg16f' : 7,
-        'R11fG11fB10f' : 8,
-        'R16f' : 9,
-        'Rgba16' : 10,
-        'Rgb10A2' : 11,
-        'Rg16' : 12,
-        'Rg8' : 13,
-        'R16' : 14,
-        'R8' : 15,
-        'Rgba16Snorm' : 16,
-        'Rg16Snorm' : 17,
-        'Rg8Snorm' : 18,
-        'R16Snorm' : 19,
-        'R8Snorm' : 20,
-        'Rgba32i' : 21,
-        'Rgba16i' : 22,
-        'Rgba8i' : 23,
-        'R32i' : 24,
-        'Rg32i' : 25,
-        'Rg16i' : 26,
-        'Rg8i' : 27,
-        'R16i' : 28,
-        'R8i' : 29,
-        'Rgba32ui' : 30,
-        'Rgba16ui' : 31,
-        'Rgba8ui' : 32,
-        'R32ui' : 33,
-        'Rgb10a2ui' : 34,
-        'Rg32ui' : 35,
-        'Rg16ui' : 36,
-        'Rg8ui' : 37,
-        'R16ui' : 38,
-        'R8ui' : 39,
-    },
-
-    'ImageChannelOrder' : {
-        'R' : 0,
-        'A' : 1,
-        'RG' : 2,
-        'RA' : 3,
-        'RGB' : 4,
-        'RGBA' : 5,
-        'BGRA' : 6,
-        'ARGB' : 7,
-        'Intensity' : 8,
-        'Luminance' : 9,
-        'Rx' : 10,
-        'RGx' : 11,
-        'RGBx' : 12,
-        'Depth' : 13,
-        'DepthStencil' : 14,
-        'sRGB' : 15,
-        'sRGBx' : 16,
-        'sRGBA' : 17,
-        'sBGRA' : 18,
-        'ABGR' : 19,
-    },
-
-    'ImageChannelDataType' : {
-        'SnormInt8' : 0,
-        'SnormInt16' : 1,
-        'UnormInt8' : 2,
-        'UnormInt16' : 3,
-        'UnormShort565' : 4,
-        'UnormShort555' : 5,
-        'UnormInt101010' : 6,
-        'SignedInt8' : 7,
-        'SignedInt16' : 8,
-        'SignedInt32' : 9,
-        'UnsignedInt8' : 10,
-        'UnsignedInt16' : 11,
-        'UnsignedInt32' : 12,
-        'HalfFloat' : 13,
-        'Float' : 14,
-        'UnormInt24' : 15,
-        'UnormInt101010_2' : 16,
-    },
-
-    'ImageOperandsShift' : {
-        'Bias' : 0,
-        'Lod' : 1,
-        'Grad' : 2,
-        'ConstOffset' : 3,
-        'Offset' : 4,
-        'ConstOffsets' : 5,
-        'Sample' : 6,
-        'MinLod' : 7,
-        'MakeTexelAvailable' : 8,
-        'MakeTexelAvailableKHR' : 8,
-        'MakeTexelVisible' : 9,
-        'MakeTexelVisibleKHR' : 9,
-        'NonPrivateTexel' : 10,
-        'NonPrivateTexelKHR' : 10,
-        'VolatileTexel' : 11,
-        'VolatileTexelKHR' : 11,
-        'SignExtend' : 12,
-        'ZeroExtend' : 13,
-    },
-
-    'ImageOperandsMask' : {
-        'MaskNone' : 0,
-        'Bias' : 0x00000001,
-        'Lod' : 0x00000002,
-        'Grad' : 0x00000004,
-        'ConstOffset' : 0x00000008,
-        'Offset' : 0x00000010,
-        'ConstOffsets' : 0x00000020,
-        'Sample' : 0x00000040,
-        'MinLod' : 0x00000080,
-        'MakeTexelAvailable' : 0x00000100,
-        'MakeTexelAvailableKHR' : 0x00000100,
-        'MakeTexelVisible' : 0x00000200,
-        'MakeTexelVisibleKHR' : 0x00000200,
-        'NonPrivateTexel' : 0x00000400,
-        'NonPrivateTexelKHR' : 0x00000400,
-        'VolatileTexel' : 0x00000800,
-        'VolatileTexelKHR' : 0x00000800,
-        'SignExtend' : 0x00001000,
-        'ZeroExtend' : 0x00002000,
-    },
-
-    'FPFastMathModeShift' : {
-        'NotNaN' : 0,
-        'NotInf' : 1,
-        'NSZ' : 2,
-        'AllowRecip' : 3,
-        'Fast' : 4,
-    },
-
-    'FPFastMathModeMask' : {
-        'MaskNone' : 0,
-        'NotNaN' : 0x00000001,
-        'NotInf' : 0x00000002,
-        'NSZ' : 0x00000004,
-        'AllowRecip' : 0x00000008,
-        'Fast' : 0x00000010,
-    },
-
-    'FPRoundingMode' : {
-        'RTE' : 0,
-        'RTZ' : 1,
-        'RTP' : 2,
-        'RTN' : 3,
-    },
-
-    'LinkageType' : {
-        'Export' : 0,
-        'Import' : 1,
-    },
-
-    'AccessQualifier' : {
-        'ReadOnly' : 0,
-        'WriteOnly' : 1,
-        'ReadWrite' : 2,
-    },
-
-    'FunctionParameterAttribute' : {
-        'Zext' : 0,
-        'Sext' : 1,
-        'ByVal' : 2,
-        'Sret' : 3,
-        'NoAlias' : 4,
-        'NoCapture' : 5,
-        'NoWrite' : 6,
-        'NoReadWrite' : 7,
-    },
-
-    'Decoration' : {
-        'RelaxedPrecision' : 0,
-        'SpecId' : 1,
-        'Block' : 2,
-        'BufferBlock' : 3,
-        'RowMajor' : 4,
-        'ColMajor' : 5,
-        'ArrayStride' : 6,
-        'MatrixStride' : 7,
-        'GLSLShared' : 8,
-        'GLSLPacked' : 9,
-        'CPacked' : 10,
-        'BuiltIn' : 11,
-        'NoPerspective' : 13,
-        'Flat' : 14,
-        'Patch' : 15,
-        'Centroid' : 16,
-        'Sample' : 17,
-        'Invariant' : 18,
-        'Restrict' : 19,
-        'Aliased' : 20,
-        'Volatile' : 21,
-        'Constant' : 22,
-        'Coherent' : 23,
-        'NonWritable' : 24,
-        'NonReadable' : 25,
-        'Uniform' : 26,
-        'UniformId' : 27,
-        'SaturatedConversion' : 28,
-        'Stream' : 29,
-        'Location' : 30,
-        'Component' : 31,
-        'Index' : 32,
-        'Binding' : 33,
-        'DescriptorSet' : 34,
-        'Offset' : 35,
-        'XfbBuffer' : 36,
-        'XfbStride' : 37,
-        'FuncParamAttr' : 38,
-        'FPRoundingMode' : 39,
-        'FPFastMathMode' : 40,
-        'LinkageAttributes' : 41,
-        'NoContraction' : 42,
-        'InputAttachmentIndex' : 43,
-        'Alignment' : 44,
-        'MaxByteOffset' : 45,
-        'AlignmentId' : 46,
-        'MaxByteOffsetId' : 47,
-        'NoSignedWrap' : 4469,
-        'NoUnsignedWrap' : 4470,
-        'ExplicitInterpAMD' : 4999,
-        'OverrideCoverageNV' : 5248,
-        'PassthroughNV' : 5250,
-        'ViewportRelativeNV' : 5252,
-        'SecondaryViewportRelativeNV' : 5256,
-        'PerPrimitiveNV' : 5271,
-        'PerViewNV' : 5272,
-        'PerTaskNV' : 5273,
-        'PerVertexNV' : 5285,
-        'NonUniform' : 5300,
-        'NonUniformEXT' : 5300,
-        'RestrictPointer' : 5355,
-        'RestrictPointerEXT' : 5355,
-        'AliasedPointer' : 5356,
-        'AliasedPointerEXT' : 5356,
-        'CounterBuffer' : 5634,
-        'HlslCounterBufferGOOGLE' : 5634,
-        'HlslSemanticGOOGLE' : 5635,
-        'UserSemantic' : 5635,
-        'UserTypeGOOGLE' : 5636,
-    },
-
-    'BuiltIn' : {
-        'Position' : 0,
-        'PointSize' : 1,
-        'ClipDistance' : 3,
-        'CullDistance' : 4,
-        'VertexId' : 5,
-        'InstanceId' : 6,
-        'PrimitiveId' : 7,
-        'InvocationId' : 8,
-        'Layer' : 9,
-        'ViewportIndex' : 10,
-        'TessLevelOuter' : 11,
-        'TessLevelInner' : 12,
-        'TessCoord' : 13,
-        'PatchVertices' : 14,
-        'FragCoord' : 15,
-        'PointCoord' : 16,
-        'FrontFacing' : 17,
-        'SampleId' : 18,
-        'SamplePosition' : 19,
-        'SampleMask' : 20,
-        'FragDepth' : 22,
-        'HelperInvocation' : 23,
-        'NumWorkgroups' : 24,
-        'WorkgroupSize' : 25,
-        'WorkgroupId' : 26,
-        'LocalInvocationId' : 27,
-        'GlobalInvocationId' : 28,
-        'LocalInvocationIndex' : 29,
-        'WorkDim' : 30,
-        'GlobalSize' : 31,
-        'EnqueuedWorkgroupSize' : 32,
-        'GlobalOffset' : 33,
-        'GlobalLinearId' : 34,
-        'SubgroupSize' : 36,
-        'SubgroupMaxSize' : 37,
-        'NumSubgroups' : 38,
-        'NumEnqueuedSubgroups' : 39,
-        'SubgroupId' : 40,
-        'SubgroupLocalInvocationId' : 41,
-        'VertexIndex' : 42,
-        'InstanceIndex' : 43,
-        'SubgroupEqMask' : 4416,
-        'SubgroupEqMaskKHR' : 4416,
-        'SubgroupGeMask' : 4417,
-        'SubgroupGeMaskKHR' : 4417,
-        'SubgroupGtMask' : 4418,
-        'SubgroupGtMaskKHR' : 4418,
-        'SubgroupLeMask' : 4419,
-        'SubgroupLeMaskKHR' : 4419,
-        'SubgroupLtMask' : 4420,
-        'SubgroupLtMaskKHR' : 4420,
-        'BaseVertex' : 4424,
-        'BaseInstance' : 4425,
-        'DrawIndex' : 4426,
-        'DeviceIndex' : 4438,
-        'ViewIndex' : 4440,
-        'BaryCoordNoPerspAMD' : 4992,
-        'BaryCoordNoPerspCentroidAMD' : 4993,
-        'BaryCoordNoPerspSampleAMD' : 4994,
-        'BaryCoordSmoothAMD' : 4995,
-        'BaryCoordSmoothCentroidAMD' : 4996,
-        'BaryCoordSmoothSampleAMD' : 4997,
-        'BaryCoordPullModelAMD' : 4998,
-        'FragStencilRefEXT' : 5014,
-        'ViewportMaskNV' : 5253,
-        'SecondaryPositionNV' : 5257,
-        'SecondaryViewportMaskNV' : 5258,
-        'PositionPerViewNV' : 5261,
-        'ViewportMaskPerViewNV' : 5262,
-        'FullyCoveredEXT' : 5264,
-        'TaskCountNV' : 5274,
-        'PrimitiveCountNV' : 5275,
-        'PrimitiveIndicesNV' : 5276,
-        'ClipDistancePerViewNV' : 5277,
-        'CullDistancePerViewNV' : 5278,
-        'LayerPerViewNV' : 5279,
-        'MeshViewCountNV' : 5280,
-        'MeshViewIndicesNV' : 5281,
-        'BaryCoordNV' : 5286,
-        'BaryCoordNoPerspNV' : 5287,
-        'FragSizeEXT' : 5292,
-        'FragmentSizeNV' : 5292,
-        'FragInvocationCountEXT' : 5293,
-        'InvocationsPerPixelNV' : 5293,
-        'LaunchIdKHR' : 5319,
-        'LaunchIdNV' : 5319,
-        'LaunchSizeKHR' : 5320,
-        'LaunchSizeNV' : 5320,
-        'WorldRayOriginKHR' : 5321,
-        'WorldRayOriginNV' : 5321,
-        'WorldRayDirectionKHR' : 5322,
-        'WorldRayDirectionNV' : 5322,
-        'ObjectRayOriginKHR' : 5323,
-        'ObjectRayOriginNV' : 5323,
-        'ObjectRayDirectionKHR' : 5324,
-        'ObjectRayDirectionNV' : 5324,
-        'RayTminKHR' : 5325,
-        'RayTminNV' : 5325,
-        'RayTmaxKHR' : 5326,
-        'RayTmaxNV' : 5326,
-        'InstanceCustomIndexKHR' : 5327,
-        'InstanceCustomIndexNV' : 5327,
-        'ObjectToWorldKHR' : 5330,
-        'ObjectToWorldNV' : 5330,
-        'WorldToObjectKHR' : 5331,
-        'WorldToObjectNV' : 5331,
-        'HitTKHR' : 5332,
-        'HitTNV' : 5332,
-        'HitKindKHR' : 5333,
-        'HitKindNV' : 5333,
-        'IncomingRayFlagsKHR' : 5351,
-        'IncomingRayFlagsNV' : 5351,
-        'RayGeometryIndexKHR' : 5352,
-        'WarpsPerSMNV' : 5374,
-        'SMCountNV' : 5375,
-        'WarpIDNV' : 5376,
-        'SMIDNV' : 5377,
-    },
-
-    'SelectionControlShift' : {
-        'Flatten' : 0,
-        'DontFlatten' : 1,
-    },
-
-    'SelectionControlMask' : {
-        'MaskNone' : 0,
-        'Flatten' : 0x00000001,
-        'DontFlatten' : 0x00000002,
-    },
-
-    'LoopControlShift' : {
-        'Unroll' : 0,
-        'DontUnroll' : 1,
-        'DependencyInfinite' : 2,
-        'DependencyLength' : 3,
-        'MinIterations' : 4,
-        'MaxIterations' : 5,
-        'IterationMultiple' : 6,
-        'PeelCount' : 7,
-        'PartialCount' : 8,
-    },
-
-    'LoopControlMask' : {
-        'MaskNone' : 0,
-        'Unroll' : 0x00000001,
-        'DontUnroll' : 0x00000002,
-        'DependencyInfinite' : 0x00000004,
-        'DependencyLength' : 0x00000008,
-        'MinIterations' : 0x00000010,
-        'MaxIterations' : 0x00000020,
-        'IterationMultiple' : 0x00000040,
-        'PeelCount' : 0x00000080,
-        'PartialCount' : 0x00000100,
-    },
-
-    'FunctionControlShift' : {
-        'Inline' : 0,
-        'DontInline' : 1,
-        'Pure' : 2,
-        'Const' : 3,
-    },
-
-    'FunctionControlMask' : {
-        'MaskNone' : 0,
-        'Inline' : 0x00000001,
-        'DontInline' : 0x00000002,
-        'Pure' : 0x00000004,
-        'Const' : 0x00000008,
-    },
-
-    'MemorySemanticsShift' : {
-        'Acquire' : 1,
-        'Release' : 2,
-        'AcquireRelease' : 3,
-        'SequentiallyConsistent' : 4,
-        'UniformMemory' : 6,
-        'SubgroupMemory' : 7,
-        'WorkgroupMemory' : 8,
-        'CrossWorkgroupMemory' : 9,
-        'AtomicCounterMemory' : 10,
-        'ImageMemory' : 11,
-        'OutputMemory' : 12,
-        'OutputMemoryKHR' : 12,
-        'MakeAvailable' : 13,
-        'MakeAvailableKHR' : 13,
-        'MakeVisible' : 14,
-        'MakeVisibleKHR' : 14,
-        'Volatile' : 15,
-    },
-
-    'MemorySemanticsMask' : {
-        'MaskNone' : 0,
-        'Acquire' : 0x00000002,
-        'Release' : 0x00000004,
-        'AcquireRelease' : 0x00000008,
-        'SequentiallyConsistent' : 0x00000010,
-        'UniformMemory' : 0x00000040,
-        'SubgroupMemory' : 0x00000080,
-        'WorkgroupMemory' : 0x00000100,
-        'CrossWorkgroupMemory' : 0x00000200,
-        'AtomicCounterMemory' : 0x00000400,
-        'ImageMemory' : 0x00000800,
-        'OutputMemory' : 0x00001000,
-        'OutputMemoryKHR' : 0x00001000,
-        'MakeAvailable' : 0x00002000,
-        'MakeAvailableKHR' : 0x00002000,
-        'MakeVisible' : 0x00004000,
-        'MakeVisibleKHR' : 0x00004000,
-        'Volatile' : 0x00008000,
-    },
-
-    'MemoryAccessShift' : {
-        'Volatile' : 0,
-        'Aligned' : 1,
-        'Nontemporal' : 2,
-        'MakePointerAvailable' : 3,
-        'MakePointerAvailableKHR' : 3,
-        'MakePointerVisible' : 4,
-        'MakePointerVisibleKHR' : 4,
-        'NonPrivatePointer' : 5,
-        'NonPrivatePointerKHR' : 5,
-    },
-
-    'MemoryAccessMask' : {
-        'MaskNone' : 0,
-        'Volatile' : 0x00000001,
-        'Aligned' : 0x00000002,
-        'Nontemporal' : 0x00000004,
-        'MakePointerAvailable' : 0x00000008,
-        'MakePointerAvailableKHR' : 0x00000008,
-        'MakePointerVisible' : 0x00000010,
-        'MakePointerVisibleKHR' : 0x00000010,
-        'NonPrivatePointer' : 0x00000020,
-        'NonPrivatePointerKHR' : 0x00000020,
-    },
-
-    'Scope' : {
-        'CrossDevice' : 0,
-        'Device' : 1,
-        'Workgroup' : 2,
-        'Subgroup' : 3,
-        'Invocation' : 4,
-        'QueueFamily' : 5,
-        'QueueFamilyKHR' : 5,
-        'ShaderCallKHR' : 6,
-    },
-
-    'GroupOperation' : {
-        'Reduce' : 0,
-        'InclusiveScan' : 1,
-        'ExclusiveScan' : 2,
-        'ClusteredReduce' : 3,
-        'PartitionedReduceNV' : 6,
-        'PartitionedInclusiveScanNV' : 7,
-        'PartitionedExclusiveScanNV' : 8,
-    },
-
-    'KernelEnqueueFlags' : {
-        'NoWait' : 0,
-        'WaitKernel' : 1,
-        'WaitWorkGroup' : 2,
-    },
-
-    'KernelProfilingInfoShift' : {
-        'CmdExecTime' : 0,
-    },
-
-    'KernelProfilingInfoMask' : {
-        'MaskNone' : 0,
-        'CmdExecTime' : 0x00000001,
-    },
-
-    'Capability' : {
-        'Matrix' : 0,
-        'Shader' : 1,
-        'Geometry' : 2,
-        'Tessellation' : 3,
-        'Addresses' : 4,
-        'Linkage' : 5,
-        'Kernel' : 6,
-        'Vector16' : 7,
-        'Float16Buffer' : 8,
-        'Float16' : 9,
-        'Float64' : 10,
-        'Int64' : 11,
-        'Int64Atomics' : 12,
-        'ImageBasic' : 13,
-        'ImageReadWrite' : 14,
-        'ImageMipmap' : 15,
-        'Pipes' : 17,
-        'Groups' : 18,
-        'DeviceEnqueue' : 19,
-        'LiteralSampler' : 20,
-        'AtomicStorage' : 21,
-        'Int16' : 22,
-        'TessellationPointSize' : 23,
-        'GeometryPointSize' : 24,
-        'ImageGatherExtended' : 25,
-        'StorageImageMultisample' : 27,
-        'UniformBufferArrayDynamicIndexing' : 28,
-        'SampledImageArrayDynamicIndexing' : 29,
-        'StorageBufferArrayDynamicIndexing' : 30,
-        'StorageImageArrayDynamicIndexing' : 31,
-        'ClipDistance' : 32,
-        'CullDistance' : 33,
-        'ImageCubeArray' : 34,
-        'SampleRateShading' : 35,
-        'ImageRect' : 36,
-        'SampledRect' : 37,
-        'GenericPointer' : 38,
-        'Int8' : 39,
-        'InputAttachment' : 40,
-        'SparseResidency' : 41,
-        'MinLod' : 42,
-        'Sampled1D' : 43,
-        'Image1D' : 44,
-        'SampledCubeArray' : 45,
-        'SampledBuffer' : 46,
-        'ImageBuffer' : 47,
-        'ImageMSArray' : 48,
-        'StorageImageExtendedFormats' : 49,
-        'ImageQuery' : 50,
-        'DerivativeControl' : 51,
-        'InterpolationFunction' : 52,
-        'TransformFeedback' : 53,
-        'GeometryStreams' : 54,
-        'StorageImageReadWithoutFormat' : 55,
-        'StorageImageWriteWithoutFormat' : 56,
-        'MultiViewport' : 57,
-        'SubgroupDispatch' : 58,
-        'NamedBarrier' : 59,
-        'PipeStorage' : 60,
-        'GroupNonUniform' : 61,
-        'GroupNonUniformVote' : 62,
-        'GroupNonUniformArithmetic' : 63,
-        'GroupNonUniformBallot' : 64,
-        'GroupNonUniformShuffle' : 65,
-        'GroupNonUniformShuffleRelative' : 66,
-        'GroupNonUniformClustered' : 67,
-        'GroupNonUniformQuad' : 68,
-        'ShaderLayer' : 69,
-        'ShaderViewportIndex' : 70,
-        'SubgroupBallotKHR' : 4423,
-        'DrawParameters' : 4427,
-        'SubgroupVoteKHR' : 4431,
-        'StorageBuffer16BitAccess' : 4433,
-        'StorageUniformBufferBlock16' : 4433,
-        'StorageUniform16' : 4434,
-        'UniformAndStorageBuffer16BitAccess' : 4434,
-        'StoragePushConstant16' : 4435,
-        'StorageInputOutput16' : 4436,
-        'DeviceGroup' : 4437,
-        'MultiView' : 4439,
-        'VariablePointersStorageBuffer' : 4441,
-        'VariablePointers' : 4442,
-        'AtomicStorageOps' : 4445,
-        'SampleMaskPostDepthCoverage' : 4447,
-        'StorageBuffer8BitAccess' : 4448,
-        'UniformAndStorageBuffer8BitAccess' : 4449,
-        'StoragePushConstant8' : 4450,
-        'DenormPreserve' : 4464,
-        'DenormFlushToZero' : 4465,
-        'SignedZeroInfNanPreserve' : 4466,
-        'RoundingModeRTE' : 4467,
-        'RoundingModeRTZ' : 4468,
-        'RayQueryProvisionalKHR' : 4471,
-        'RayTraversalPrimitiveCullingProvisionalKHR' : 4478,
-        'Float16ImageAMD' : 5008,
-        'ImageGatherBiasLodAMD' : 5009,
-        'FragmentMaskAMD' : 5010,
-        'StencilExportEXT' : 5013,
-        'ImageReadWriteLodAMD' : 5015,
-        'ShaderClockKHR' : 5055,
-        'SampleMaskOverrideCoverageNV' : 5249,
-        'GeometryShaderPassthroughNV' : 5251,
-        'ShaderViewportIndexLayerEXT' : 5254,
-        'ShaderViewportIndexLayerNV' : 5254,
-        'ShaderViewportMaskNV' : 5255,
-        'ShaderStereoViewNV' : 5259,
-        'PerViewAttributesNV' : 5260,
-        'FragmentFullyCoveredEXT' : 5265,
-        'MeshShadingNV' : 5266,
-        'ImageFootprintNV' : 5282,
-        'FragmentBarycentricNV' : 5284,
-        'ComputeDerivativeGroupQuadsNV' : 5288,
-        'FragmentDensityEXT' : 5291,
-        'ShadingRateNV' : 5291,
-        'GroupNonUniformPartitionedNV' : 5297,
-        'ShaderNonUniform' : 5301,
-        'ShaderNonUniformEXT' : 5301,
-        'RuntimeDescriptorArray' : 5302,
-        'RuntimeDescriptorArrayEXT' : 5302,
-        'InputAttachmentArrayDynamicIndexing' : 5303,
-        'InputAttachmentArrayDynamicIndexingEXT' : 5303,
-        'UniformTexelBufferArrayDynamicIndexing' : 5304,
-        'UniformTexelBufferArrayDynamicIndexingEXT' : 5304,
-        'StorageTexelBufferArrayDynamicIndexing' : 5305,
-        'StorageTexelBufferArrayDynamicIndexingEXT' : 5305,
-        'UniformBufferArrayNonUniformIndexing' : 5306,
-        'UniformBufferArrayNonUniformIndexingEXT' : 5306,
-        'SampledImageArrayNonUniformIndexing' : 5307,
-        'SampledImageArrayNonUniformIndexingEXT' : 5307,
-        'StorageBufferArrayNonUniformIndexing' : 5308,
-        'StorageBufferArrayNonUniformIndexingEXT' : 5308,
-        'StorageImageArrayNonUniformIndexing' : 5309,
-        'StorageImageArrayNonUniformIndexingEXT' : 5309,
-        'InputAttachmentArrayNonUniformIndexing' : 5310,
-        'InputAttachmentArrayNonUniformIndexingEXT' : 5310,
-        'UniformTexelBufferArrayNonUniformIndexing' : 5311,
-        'UniformTexelBufferArrayNonUniformIndexingEXT' : 5311,
-        'StorageTexelBufferArrayNonUniformIndexing' : 5312,
-        'StorageTexelBufferArrayNonUniformIndexingEXT' : 5312,
-        'RayTracingNV' : 5340,
-        'VulkanMemoryModel' : 5345,
-        'VulkanMemoryModelKHR' : 5345,
-        'VulkanMemoryModelDeviceScope' : 5346,
-        'VulkanMemoryModelDeviceScopeKHR' : 5346,
-        'PhysicalStorageBufferAddresses' : 5347,
-        'PhysicalStorageBufferAddressesEXT' : 5347,
-        'ComputeDerivativeGroupLinearNV' : 5350,
-        'RayTracingProvisionalKHR' : 5353,
-        'CooperativeMatrixNV' : 5357,
-        'FragmentShaderSampleInterlockEXT' : 5363,
-        'FragmentShaderShadingRateInterlockEXT' : 5372,
-        'ShaderSMBuiltinsNV' : 5373,
-        'FragmentShaderPixelInterlockEXT' : 5378,
-        'DemoteToHelperInvocationEXT' : 5379,
-        'SubgroupShuffleINTEL' : 5568,
-        'SubgroupBufferBlockIOINTEL' : 5569,
-        'SubgroupImageBlockIOINTEL' : 5570,
-        'SubgroupImageMediaBlockIOINTEL' : 5579,
-        'IntegerFunctions2INTEL' : 5584,
-        'SubgroupAvcMotionEstimationINTEL' : 5696,
-        'SubgroupAvcMotionEstimationIntraINTEL' : 5697,
-        'SubgroupAvcMotionEstimationChromaINTEL' : 5698,
-    },
-
-    'RayFlagsShift' : {
-        'OpaqueKHR' : 0,
-        'NoOpaqueKHR' : 1,
-        'TerminateOnFirstHitKHR' : 2,
-        'SkipClosestHitShaderKHR' : 3,
-        'CullBackFacingTrianglesKHR' : 4,
-        'CullFrontFacingTrianglesKHR' : 5,
-        'CullOpaqueKHR' : 6,
-        'CullNoOpaqueKHR' : 7,
-        'SkipTrianglesKHR' : 8,
-        'SkipAABBsKHR' : 9,
-    },
-
-    'RayFlagsMask' : {
-        'MaskNone' : 0,
-        'OpaqueKHR' : 0x00000001,
-        'NoOpaqueKHR' : 0x00000002,
-        'TerminateOnFirstHitKHR' : 0x00000004,
-        'SkipClosestHitShaderKHR' : 0x00000008,
-        'CullBackFacingTrianglesKHR' : 0x00000010,
-        'CullFrontFacingTrianglesKHR' : 0x00000020,
-        'CullOpaqueKHR' : 0x00000040,
-        'CullNoOpaqueKHR' : 0x00000080,
-        'SkipTrianglesKHR' : 0x00000100,
-        'SkipAABBsKHR' : 0x00000200,
-    },
-
-    'RayQueryIntersection' : {
-        'RayQueryCandidateIntersectionKHR' : 0,
-        'RayQueryCommittedIntersectionKHR' : 1,
-    },
-
-    'RayQueryCommittedIntersectionType' : {
-        'RayQueryCommittedIntersectionNoneKHR' : 0,
-        'RayQueryCommittedIntersectionTriangleKHR' : 1,
-        'RayQueryCommittedIntersectionGeneratedKHR' : 2,
-    },
-
-    'RayQueryCandidateIntersectionType' : {
-        'RayQueryCandidateIntersectionTriangleKHR' : 0,
-        'RayQueryCandidateIntersectionAABBKHR' : 1,
-    },
-
-    'Op' : {
-        'OpNop' : 0,
-        'OpUndef' : 1,
-        'OpSourceContinued' : 2,
-        'OpSource' : 3,
-        'OpSourceExtension' : 4,
-        'OpName' : 5,
-        'OpMemberName' : 6,
-        'OpString' : 7,
-        'OpLine' : 8,
-        'OpExtension' : 10,
-        'OpExtInstImport' : 11,
-        'OpExtInst' : 12,
-        'OpMemoryModel' : 14,
-        'OpEntryPoint' : 15,
-        'OpExecutionMode' : 16,
-        'OpCapability' : 17,
-        'OpTypeVoid' : 19,
-        'OpTypeBool' : 20,
-        'OpTypeInt' : 21,
-        'OpTypeFloat' : 22,
-        'OpTypeVector' : 23,
-        'OpTypeMatrix' : 24,
-        'OpTypeImage' : 25,
-        'OpTypeSampler' : 26,
-        'OpTypeSampledImage' : 27,
-        'OpTypeArray' : 28,
-        'OpTypeRuntimeArray' : 29,
-        'OpTypeStruct' : 30,
-        'OpTypeOpaque' : 31,
-        'OpTypePointer' : 32,
-        'OpTypeFunction' : 33,
-        'OpTypeEvent' : 34,
-        'OpTypeDeviceEvent' : 35,
-        'OpTypeReserveId' : 36,
-        'OpTypeQueue' : 37,
-        'OpTypePipe' : 38,
-        'OpTypeForwardPointer' : 39,
-        'OpConstantTrue' : 41,
-        'OpConstantFalse' : 42,
-        'OpConstant' : 43,
-        'OpConstantComposite' : 44,
-        'OpConstantSampler' : 45,
-        'OpConstantNull' : 46,
-        'OpSpecConstantTrue' : 48,
-        'OpSpecConstantFalse' : 49,
-        'OpSpecConstant' : 50,
-        'OpSpecConstantComposite' : 51,
-        'OpSpecConstantOp' : 52,
-        'OpFunction' : 54,
-        'OpFunctionParameter' : 55,
-        'OpFunctionEnd' : 56,
-        'OpFunctionCall' : 57,
-        'OpVariable' : 59,
-        'OpImageTexelPointer' : 60,
-        'OpLoad' : 61,
-        'OpStore' : 62,
-        'OpCopyMemory' : 63,
-        'OpCopyMemorySized' : 64,
-        'OpAccessChain' : 65,
-        'OpInBoundsAccessChain' : 66,
-        'OpPtrAccessChain' : 67,
-        'OpArrayLength' : 68,
-        'OpGenericPtrMemSemantics' : 69,
-        'OpInBoundsPtrAccessChain' : 70,
-        'OpDecorate' : 71,
-        'OpMemberDecorate' : 72,
-        'OpDecorationGroup' : 73,
-        'OpGroupDecorate' : 74,
-        'OpGroupMemberDecorate' : 75,
-        'OpVectorExtractDynamic' : 77,
-        'OpVectorInsertDynamic' : 78,
-        'OpVectorShuffle' : 79,
-        'OpCompositeConstruct' : 80,
-        'OpCompositeExtract' : 81,
-        'OpCompositeInsert' : 82,
-        'OpCopyObject' : 83,
-        'OpTranspose' : 84,
-        'OpSampledImage' : 86,
-        'OpImageSampleImplicitLod' : 87,
-        'OpImageSampleExplicitLod' : 88,
-        'OpImageSampleDrefImplicitLod' : 89,
-        'OpImageSampleDrefExplicitLod' : 90,
-        'OpImageSampleProjImplicitLod' : 91,
-        'OpImageSampleProjExplicitLod' : 92,
-        'OpImageSampleProjDrefImplicitLod' : 93,
-        'OpImageSampleProjDrefExplicitLod' : 94,
-        'OpImageFetch' : 95,
-        'OpImageGather' : 96,
-        'OpImageDrefGather' : 97,
-        'OpImageRead' : 98,
-        'OpImageWrite' : 99,
-        'OpImage' : 100,
-        'OpImageQueryFormat' : 101,
-        'OpImageQueryOrder' : 102,
-        'OpImageQuerySizeLod' : 103,
-        'OpImageQuerySize' : 104,
-        'OpImageQueryLod' : 105,
-        'OpImageQueryLevels' : 106,
-        'OpImageQuerySamples' : 107,
-        'OpConvertFToU' : 109,
-        'OpConvertFToS' : 110,
-        'OpConvertSToF' : 111,
-        'OpConvertUToF' : 112,
-        'OpUConvert' : 113,
-        'OpSConvert' : 114,
-        'OpFConvert' : 115,
-        'OpQuantizeToF16' : 116,
-        'OpConvertPtrToU' : 117,
-        'OpSatConvertSToU' : 118,
-        'OpSatConvertUToS' : 119,
-        'OpConvertUToPtr' : 120,
-        'OpPtrCastToGeneric' : 121,
-        'OpGenericCastToPtr' : 122,
-        'OpGenericCastToPtrExplicit' : 123,
-        'OpBitcast' : 124,
-        'OpSNegate' : 126,
-        'OpFNegate' : 127,
-        'OpIAdd' : 128,
-        'OpFAdd' : 129,
-        'OpISub' : 130,
-        'OpFSub' : 131,
-        'OpIMul' : 132,
-        'OpFMul' : 133,
-        'OpUDiv' : 134,
-        'OpSDiv' : 135,
-        'OpFDiv' : 136,
-        'OpUMod' : 137,
-        'OpSRem' : 138,
-        'OpSMod' : 139,
-        'OpFRem' : 140,
-        'OpFMod' : 141,
-        'OpVectorTimesScalar' : 142,
-        'OpMatrixTimesScalar' : 143,
-        'OpVectorTimesMatrix' : 144,
-        'OpMatrixTimesVector' : 145,
-        'OpMatrixTimesMatrix' : 146,
-        'OpOuterProduct' : 147,
-        'OpDot' : 148,
-        'OpIAddCarry' : 149,
-        'OpISubBorrow' : 150,
-        'OpUMulExtended' : 151,
-        'OpSMulExtended' : 152,
-        'OpAny' : 154,
-        'OpAll' : 155,
-        'OpIsNan' : 156,
-        'OpIsInf' : 157,
-        'OpIsFinite' : 158,
-        'OpIsNormal' : 159,
-        'OpSignBitSet' : 160,
-        'OpLessOrGreater' : 161,
-        'OpOrdered' : 162,
-        'OpUnordered' : 163,
-        'OpLogicalEqual' : 164,
-        'OpLogicalNotEqual' : 165,
-        'OpLogicalOr' : 166,
-        'OpLogicalAnd' : 167,
-        'OpLogicalNot' : 168,
-        'OpSelect' : 169,
-        'OpIEqual' : 170,
-        'OpINotEqual' : 171,
-        'OpUGreaterThan' : 172,
-        'OpSGreaterThan' : 173,
-        'OpUGreaterThanEqual' : 174,
-        'OpSGreaterThanEqual' : 175,
-        'OpULessThan' : 176,
-        'OpSLessThan' : 177,
-        'OpULessThanEqual' : 178,
-        'OpSLessThanEqual' : 179,
-        'OpFOrdEqual' : 180,
-        'OpFUnordEqual' : 181,
-        'OpFOrdNotEqual' : 182,
-        'OpFUnordNotEqual' : 183,
-        'OpFOrdLessThan' : 184,
-        'OpFUnordLessThan' : 185,
-        'OpFOrdGreaterThan' : 186,
-        'OpFUnordGreaterThan' : 187,
-        'OpFOrdLessThanEqual' : 188,
-        'OpFUnordLessThanEqual' : 189,
-        'OpFOrdGreaterThanEqual' : 190,
-        'OpFUnordGreaterThanEqual' : 191,
-        'OpShiftRightLogical' : 194,
-        'OpShiftRightArithmetic' : 195,
-        'OpShiftLeftLogical' : 196,
-        'OpBitwiseOr' : 197,
-        'OpBitwiseXor' : 198,
-        'OpBitwiseAnd' : 199,
-        'OpNot' : 200,
-        'OpBitFieldInsert' : 201,
-        'OpBitFieldSExtract' : 202,
-        'OpBitFieldUExtract' : 203,
-        'OpBitReverse' : 204,
-        'OpBitCount' : 205,
-        'OpDPdx' : 207,
-        'OpDPdy' : 208,
-        'OpFwidth' : 209,
-        'OpDPdxFine' : 210,
-        'OpDPdyFine' : 211,
-        'OpFwidthFine' : 212,
-        'OpDPdxCoarse' : 213,
-        'OpDPdyCoarse' : 214,
-        'OpFwidthCoarse' : 215,
-        'OpEmitVertex' : 218,
-        'OpEndPrimitive' : 219,
-        'OpEmitStreamVertex' : 220,
-        'OpEndStreamPrimitive' : 221,
-        'OpControlBarrier' : 224,
-        'OpMemoryBarrier' : 225,
-        'OpAtomicLoad' : 227,
-        'OpAtomicStore' : 228,
-        'OpAtomicExchange' : 229,
-        'OpAtomicCompareExchange' : 230,
-        'OpAtomicCompareExchangeWeak' : 231,
-        'OpAtomicIIncrement' : 232,
-        'OpAtomicIDecrement' : 233,
-        'OpAtomicIAdd' : 234,
-        'OpAtomicISub' : 235,
-        'OpAtomicSMin' : 236,
-        'OpAtomicUMin' : 237,
-        'OpAtomicSMax' : 238,
-        'OpAtomicUMax' : 239,
-        'OpAtomicAnd' : 240,
-        'OpAtomicOr' : 241,
-        'OpAtomicXor' : 242,
-        'OpPhi' : 245,
-        'OpLoopMerge' : 246,
-        'OpSelectionMerge' : 247,
-        'OpLabel' : 248,
-        'OpBranch' : 249,
-        'OpBranchConditional' : 250,
-        'OpSwitch' : 251,
-        'OpKill' : 252,
-        'OpReturn' : 253,
-        'OpReturnValue' : 254,
-        'OpUnreachable' : 255,
-        'OpLifetimeStart' : 256,
-        'OpLifetimeStop' : 257,
-        'OpGroupAsyncCopy' : 259,
-        'OpGroupWaitEvents' : 260,
-        'OpGroupAll' : 261,
-        'OpGroupAny' : 262,
-        'OpGroupBroadcast' : 263,
-        'OpGroupIAdd' : 264,
-        'OpGroupFAdd' : 265,
-        'OpGroupFMin' : 266,
-        'OpGroupUMin' : 267,
-        'OpGroupSMin' : 268,
-        'OpGroupFMax' : 269,
-        'OpGroupUMax' : 270,
-        'OpGroupSMax' : 271,
-        'OpReadPipe' : 274,
-        'OpWritePipe' : 275,
-        'OpReservedReadPipe' : 276,
-        'OpReservedWritePipe' : 277,
-        'OpReserveReadPipePackets' : 278,
-        'OpReserveWritePipePackets' : 279,
-        'OpCommitReadPipe' : 280,
-        'OpCommitWritePipe' : 281,
-        'OpIsValidReserveId' : 282,
-        'OpGetNumPipePackets' : 283,
-        'OpGetMaxPipePackets' : 284,
-        'OpGroupReserveReadPipePackets' : 285,
-        'OpGroupReserveWritePipePackets' : 286,
-        'OpGroupCommitReadPipe' : 287,
-        'OpGroupCommitWritePipe' : 288,
-        'OpEnqueueMarker' : 291,
-        'OpEnqueueKernel' : 292,
-        'OpGetKernelNDrangeSubGroupCount' : 293,
-        'OpGetKernelNDrangeMaxSubGroupSize' : 294,
-        'OpGetKernelWorkGroupSize' : 295,
-        'OpGetKernelPreferredWorkGroupSizeMultiple' : 296,
-        'OpRetainEvent' : 297,
-        'OpReleaseEvent' : 298,
-        'OpCreateUserEvent' : 299,
-        'OpIsValidEvent' : 300,
-        'OpSetUserEventStatus' : 301,
-        'OpCaptureEventProfilingInfo' : 302,
-        'OpGetDefaultQueue' : 303,
-        'OpBuildNDRange' : 304,
-        'OpImageSparseSampleImplicitLod' : 305,
-        'OpImageSparseSampleExplicitLod' : 306,
-        'OpImageSparseSampleDrefImplicitLod' : 307,
-        'OpImageSparseSampleDrefExplicitLod' : 308,
-        'OpImageSparseSampleProjImplicitLod' : 309,
-        'OpImageSparseSampleProjExplicitLod' : 310,
-        'OpImageSparseSampleProjDrefImplicitLod' : 311,
-        'OpImageSparseSampleProjDrefExplicitLod' : 312,
-        'OpImageSparseFetch' : 313,
-        'OpImageSparseGather' : 314,
-        'OpImageSparseDrefGather' : 315,
-        'OpImageSparseTexelsResident' : 316,
-        'OpNoLine' : 317,
-        'OpAtomicFlagTestAndSet' : 318,
-        'OpAtomicFlagClear' : 319,
-        'OpImageSparseRead' : 320,
-        'OpSizeOf' : 321,
-        'OpTypePipeStorage' : 322,
-        'OpConstantPipeStorage' : 323,
-        'OpCreatePipeFromPipeStorage' : 324,
-        'OpGetKernelLocalSizeForSubgroupCount' : 325,
-        'OpGetKernelMaxNumSubgroups' : 326,
-        'OpTypeNamedBarrier' : 327,
-        'OpNamedBarrierInitialize' : 328,
-        'OpMemoryNamedBarrier' : 329,
-        'OpModuleProcessed' : 330,
-        'OpExecutionModeId' : 331,
-        'OpDecorateId' : 332,
-        'OpGroupNonUniformElect' : 333,
-        'OpGroupNonUniformAll' : 334,
-        'OpGroupNonUniformAny' : 335,
-        'OpGroupNonUniformAllEqual' : 336,
-        'OpGroupNonUniformBroadcast' : 337,
-        'OpGroupNonUniformBroadcastFirst' : 338,
-        'OpGroupNonUniformBallot' : 339,
-        'OpGroupNonUniformInverseBallot' : 340,
-        'OpGroupNonUniformBallotBitExtract' : 341,
-        'OpGroupNonUniformBallotBitCount' : 342,
-        'OpGroupNonUniformBallotFindLSB' : 343,
-        'OpGroupNonUniformBallotFindMSB' : 344,
-        'OpGroupNonUniformShuffle' : 345,
-        'OpGroupNonUniformShuffleXor' : 346,
-        'OpGroupNonUniformShuffleUp' : 347,
-        'OpGroupNonUniformShuffleDown' : 348,
-        'OpGroupNonUniformIAdd' : 349,
-        'OpGroupNonUniformFAdd' : 350,
-        'OpGroupNonUniformIMul' : 351,
-        'OpGroupNonUniformFMul' : 352,
-        'OpGroupNonUniformSMin' : 353,
-        'OpGroupNonUniformUMin' : 354,
-        'OpGroupNonUniformFMin' : 355,
-        'OpGroupNonUniformSMax' : 356,
-        'OpGroupNonUniformUMax' : 357,
-        'OpGroupNonUniformFMax' : 358,
-        'OpGroupNonUniformBitwiseAnd' : 359,
-        'OpGroupNonUniformBitwiseOr' : 360,
-        'OpGroupNonUniformBitwiseXor' : 361,
-        'OpGroupNonUniformLogicalAnd' : 362,
-        'OpGroupNonUniformLogicalOr' : 363,
-        'OpGroupNonUniformLogicalXor' : 364,
-        'OpGroupNonUniformQuadBroadcast' : 365,
-        'OpGroupNonUniformQuadSwap' : 366,
-        'OpCopyLogical' : 400,
-        'OpPtrEqual' : 401,
-        'OpPtrNotEqual' : 402,
-        'OpPtrDiff' : 403,
-        'OpSubgroupBallotKHR' : 4421,
-        'OpSubgroupFirstInvocationKHR' : 4422,
-        'OpSubgroupAllKHR' : 4428,
-        'OpSubgroupAnyKHR' : 4429,
-        'OpSubgroupAllEqualKHR' : 4430,
-        'OpSubgroupReadInvocationKHR' : 4432,
-        'OpTypeRayQueryProvisionalKHR' : 4472,
-        'OpRayQueryInitializeKHR' : 4473,
-        'OpRayQueryTerminateKHR' : 4474,
-        'OpRayQueryGenerateIntersectionKHR' : 4475,
-        'OpRayQueryConfirmIntersectionKHR' : 4476,
-        'OpRayQueryProceedKHR' : 4477,
-        'OpRayQueryGetIntersectionTypeKHR' : 4479,
-        'OpGroupIAddNonUniformAMD' : 5000,
-        'OpGroupFAddNonUniformAMD' : 5001,
-        'OpGroupFMinNonUniformAMD' : 5002,
-        'OpGroupUMinNonUniformAMD' : 5003,
-        'OpGroupSMinNonUniformAMD' : 5004,
-        'OpGroupFMaxNonUniformAMD' : 5005,
-        'OpGroupUMaxNonUniformAMD' : 5006,
-        'OpGroupSMaxNonUniformAMD' : 5007,
-        'OpFragmentMaskFetchAMD' : 5011,
-        'OpFragmentFetchAMD' : 5012,
-        'OpReadClockKHR' : 5056,
-        'OpImageSampleFootprintNV' : 5283,
-        'OpGroupNonUniformPartitionNV' : 5296,
-        'OpWritePackedPrimitiveIndices4x8NV' : 5299,
-        'OpReportIntersectionKHR' : 5334,
-        'OpReportIntersectionNV' : 5334,
-        'OpIgnoreIntersectionKHR' : 5335,
-        'OpIgnoreIntersectionNV' : 5335,
-        'OpTerminateRayKHR' : 5336,
-        'OpTerminateRayNV' : 5336,
-        'OpTraceNV' : 5337,
-        'OpTraceRayKHR' : 5337,
-        'OpTypeAccelerationStructureKHR' : 5341,
-        'OpTypeAccelerationStructureNV' : 5341,
-        'OpExecuteCallableKHR' : 5344,
-        'OpExecuteCallableNV' : 5344,
-        'OpTypeCooperativeMatrixNV' : 5358,
-        'OpCooperativeMatrixLoadNV' : 5359,
-        'OpCooperativeMatrixStoreNV' : 5360,
-        'OpCooperativeMatrixMulAddNV' : 5361,
-        'OpCooperativeMatrixLengthNV' : 5362,
-        'OpBeginInvocationInterlockEXT' : 5364,
-        'OpEndInvocationInterlockEXT' : 5365,
-        'OpDemoteToHelperInvocationEXT' : 5380,
-        'OpIsHelperInvocationEXT' : 5381,
-        'OpSubgroupShuffleINTEL' : 5571,
-        'OpSubgroupShuffleDownINTEL' : 5572,
-        'OpSubgroupShuffleUpINTEL' : 5573,
-        'OpSubgroupShuffleXorINTEL' : 5574,
-        'OpSubgroupBlockReadINTEL' : 5575,
-        'OpSubgroupBlockWriteINTEL' : 5576,
-        'OpSubgroupImageBlockReadINTEL' : 5577,
-        'OpSubgroupImageBlockWriteINTEL' : 5578,
-        'OpSubgroupImageMediaBlockReadINTEL' : 5580,
-        'OpSubgroupImageMediaBlockWriteINTEL' : 5581,
-        'OpUCountLeadingZerosINTEL' : 5585,
-        'OpUCountTrailingZerosINTEL' : 5586,
-        'OpAbsISubINTEL' : 5587,
-        'OpAbsUSubINTEL' : 5588,
-        'OpIAddSatINTEL' : 5589,
-        'OpUAddSatINTEL' : 5590,
-        'OpIAverageINTEL' : 5591,
-        'OpUAverageINTEL' : 5592,
-        'OpIAverageRoundedINTEL' : 5593,
-        'OpUAverageRoundedINTEL' : 5594,
-        'OpISubSatINTEL' : 5595,
-        'OpUSubSatINTEL' : 5596,
-        'OpIMul32x16INTEL' : 5597,
-        'OpUMul32x16INTEL' : 5598,
-        'OpDecorateString' : 5632,
-        'OpDecorateStringGOOGLE' : 5632,
-        'OpMemberDecorateString' : 5633,
-        'OpMemberDecorateStringGOOGLE' : 5633,
-        'OpVmeImageINTEL' : 5699,
-        'OpTypeVmeImageINTEL' : 5700,
-        'OpTypeAvcImePayloadINTEL' : 5701,
-        'OpTypeAvcRefPayloadINTEL' : 5702,
-        'OpTypeAvcSicPayloadINTEL' : 5703,
-        'OpTypeAvcMcePayloadINTEL' : 5704,
-        'OpTypeAvcMceResultINTEL' : 5705,
-        'OpTypeAvcImeResultINTEL' : 5706,
-        'OpTypeAvcImeResultSingleReferenceStreamoutINTEL' : 5707,
-        'OpTypeAvcImeResultDualReferenceStreamoutINTEL' : 5708,
-        'OpTypeAvcImeSingleReferenceStreaminINTEL' : 5709,
-        'OpTypeAvcImeDualReferenceStreaminINTEL' : 5710,
-        'OpTypeAvcRefResultINTEL' : 5711,
-        'OpTypeAvcSicResultINTEL' : 5712,
-        'OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL' : 5713,
-        'OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL' : 5714,
-        'OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL' : 5715,
-        'OpSubgroupAvcMceSetInterShapePenaltyINTEL' : 5716,
-        'OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL' : 5717,
-        'OpSubgroupAvcMceSetInterDirectionPenaltyINTEL' : 5718,
-        'OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL' : 5719,
-        'OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL' : 5720,
-        'OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL' : 5721,
-        'OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL' : 5722,
-        'OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL' : 5723,
-        'OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL' : 5724,
-        'OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL' : 5725,
-        'OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL' : 5726,
-        'OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL' : 5727,
-        'OpSubgroupAvcMceSetAcOnlyHaarINTEL' : 5728,
-        'OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL' : 5729,
-        'OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL' : 5730,
-        'OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL' : 5731,
-        'OpSubgroupAvcMceConvertToImePayloadINTEL' : 5732,
-        'OpSubgroupAvcMceConvertToImeResultINTEL' : 5733,
-        'OpSubgroupAvcMceConvertToRefPayloadINTEL' : 5734,
-        'OpSubgroupAvcMceConvertToRefResultINTEL' : 5735,
-        'OpSubgroupAvcMceConvertToSicPayloadINTEL' : 5736,
-        'OpSubgroupAvcMceConvertToSicResultINTEL' : 5737,
-        'OpSubgroupAvcMceGetMotionVectorsINTEL' : 5738,
-        'OpSubgroupAvcMceGetInterDistortionsINTEL' : 5739,
-        'OpSubgroupAvcMceGetBestInterDistortionsINTEL' : 5740,
-        'OpSubgroupAvcMceGetInterMajorShapeINTEL' : 5741,
-        'OpSubgroupAvcMceGetInterMinorShapeINTEL' : 5742,
-        'OpSubgroupAvcMceGetInterDirectionsINTEL' : 5743,
-        'OpSubgroupAvcMceGetInterMotionVectorCountINTEL' : 5744,
-        'OpSubgroupAvcMceGetInterReferenceIdsINTEL' : 5745,
-        'OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL' : 5746,
-        'OpSubgroupAvcImeInitializeINTEL' : 5747,
-        'OpSubgroupAvcImeSetSingleReferenceINTEL' : 5748,
-        'OpSubgroupAvcImeSetDualReferenceINTEL' : 5749,
-        'OpSubgroupAvcImeRefWindowSizeINTEL' : 5750,
-        'OpSubgroupAvcImeAdjustRefOffsetINTEL' : 5751,
-        'OpSubgroupAvcImeConvertToMcePayloadINTEL' : 5752,
-        'OpSubgroupAvcImeSetMaxMotionVectorCountINTEL' : 5753,
-        'OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL' : 5754,
-        'OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL' : 5755,
-        'OpSubgroupAvcImeSetWeightedSadINTEL' : 5756,
-        'OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL' : 5757,
-        'OpSubgroupAvcImeEvaluateWithDualReferenceINTEL' : 5758,
-        'OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL' : 5759,
-        'OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL' : 5760,
-        'OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL' : 5761,
-        'OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL' : 5762,
-        'OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL' : 5763,
-        'OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL' : 5764,
-        'OpSubgroupAvcImeConvertToMceResultINTEL' : 5765,
-        'OpSubgroupAvcImeGetSingleReferenceStreaminINTEL' : 5766,
-        'OpSubgroupAvcImeGetDualReferenceStreaminINTEL' : 5767,
-        'OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL' : 5768,
-        'OpSubgroupAvcImeStripDualReferenceStreamoutINTEL' : 5769,
-        'OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL' : 5770,
-        'OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL' : 5771,
-        'OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL' : 5772,
-        'OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL' : 5773,
-        'OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL' : 5774,
-        'OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL' : 5775,
-        'OpSubgroupAvcImeGetBorderReachedINTEL' : 5776,
-        'OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL' : 5777,
-        'OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL' : 5778,
-        'OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL' : 5779,
-        'OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL' : 5780,
-        'OpSubgroupAvcFmeInitializeINTEL' : 5781,
-        'OpSubgroupAvcBmeInitializeINTEL' : 5782,
-        'OpSubgroupAvcRefConvertToMcePayloadINTEL' : 5783,
-        'OpSubgroupAvcRefSetBidirectionalMixDisableINTEL' : 5784,
-        'OpSubgroupAvcRefSetBilinearFilterEnableINTEL' : 5785,
-        'OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL' : 5786,
-        'OpSubgroupAvcRefEvaluateWithDualReferenceINTEL' : 5787,
-        'OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL' : 5788,
-        'OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL' : 5789,
-        'OpSubgroupAvcRefConvertToMceResultINTEL' : 5790,
-        'OpSubgroupAvcSicInitializeINTEL' : 5791,
-        'OpSubgroupAvcSicConfigureSkcINTEL' : 5792,
-        'OpSubgroupAvcSicConfigureIpeLumaINTEL' : 5793,
-        'OpSubgroupAvcSicConfigureIpeLumaChromaINTEL' : 5794,
-        'OpSubgroupAvcSicGetMotionVectorMaskINTEL' : 5795,
-        'OpSubgroupAvcSicConvertToMcePayloadINTEL' : 5796,
-        'OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL' : 5797,
-        'OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL' : 5798,
-        'OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL' : 5799,
-        'OpSubgroupAvcSicSetBilinearFilterEnableINTEL' : 5800,
-        'OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL' : 5801,
-        'OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL' : 5802,
-        'OpSubgroupAvcSicEvaluateIpeINTEL' : 5803,
-        'OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL' : 5804,
-        'OpSubgroupAvcSicEvaluateWithDualReferenceINTEL' : 5805,
-        'OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL' : 5806,
-        'OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL' : 5807,
-        'OpSubgroupAvcSicConvertToMceResultINTEL' : 5808,
-        'OpSubgroupAvcSicGetIpeLumaShapeINTEL' : 5809,
-        'OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL' : 5810,
-        'OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL' : 5811,
-        'OpSubgroupAvcSicGetPackedIpeLumaModesINTEL' : 5812,
-        'OpSubgroupAvcSicGetIpeChromaModeINTEL' : 5813,
-        'OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL' : 5814,
-        'OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL' : 5815,
-        'OpSubgroupAvcSicGetInterRawSadsINTEL' : 5816,
-        'OpRayQueryGetRayTMinKHR' : 6016,
-        'OpRayQueryGetRayFlagsKHR' : 6017,
-        'OpRayQueryGetIntersectionTKHR' : 6018,
-        'OpRayQueryGetIntersectionInstanceCustomIndexKHR' : 6019,
-        'OpRayQueryGetIntersectionInstanceIdKHR' : 6020,
-        'OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR' : 6021,
-        'OpRayQueryGetIntersectionGeometryIndexKHR' : 6022,
-        'OpRayQueryGetIntersectionPrimitiveIndexKHR' : 6023,
-        'OpRayQueryGetIntersectionBarycentricsKHR' : 6024,
-        'OpRayQueryGetIntersectionFrontFaceKHR' : 6025,
-        'OpRayQueryGetIntersectionCandidateAABBOpaqueKHR' : 6026,
-        'OpRayQueryGetIntersectionObjectRayDirectionKHR' : 6027,
-        'OpRayQueryGetIntersectionObjectRayOriginKHR' : 6028,
-        'OpRayQueryGetWorldRayDirectionKHR' : 6029,
-        'OpRayQueryGetWorldRayOriginKHR' : 6030,
-        'OpRayQueryGetIntersectionObjectToWorldKHR' : 6031,
-        'OpRayQueryGetIntersectionWorldToObjectKHR' : 6032,
-    },
-
-}
-