1{
2    "spv":
3    {
4        "meta":
5        {
6            "Comment":
7            [
8                [
9                    "Copyright (c) 2014-2018 The Khronos Group Inc.",
10                    "",
11                    "Permission is hereby granted, free of charge, to any person obtaining a copy",
12                    "of this software and/or associated documentation files (the \"Materials\"),",
13                    "to deal in the Materials without restriction, including without limitation",
14                    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
15                    "and/or sell copies of the Materials, and to permit persons to whom the",
16                    "Materials are furnished to do so, subject to the following conditions:",
17                    "",
18                    "The above copyright notice and this permission notice shall be included in",
19                    "all copies or substantial portions of the Materials.",
20                    "",
21                    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
22                    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
23                    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
24                    "",
25                    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
26                    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
27                    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
28                    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
29                    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
30                    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
31                    "IN THE MATERIALS."
32                ],
33                [
34                    "This header is automatically generated by the same tool that creates",
35                    "the Binary Section of the SPIR-V specification."
36                ],
37                [
38                    "Enumeration tokens for SPIR-V, in various styles:",
39                    "  C, C++, C++11, JSON, Lua, Python",
40                    "",
41                    "- C will have tokens with a \"Spv\" prefix, e.g.: SpvSourceLanguageGLSL",
42                    "- C++ will have tokens in the \"spv\" name space, e.g.: spv::SourceLanguageGLSL",
43                    "- C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL",
44                    "- Lua will use tables, e.g.: spv.SourceLanguage.GLSL",
45                    "- Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']",
46                    "",
47                    "Some tokens act like mask values, which can be OR'd together,",
48                    "while others are mutually exclusive.  The mask-like ones have",
49                    "\"Mask\" in their name, and a parallel enum that has the shift",
50                    "amount (1 << x) for each corresponding enumerant."
51                ]
52            ],
53            "MagicNumber": 119734787,
54            "Version": 66048,
55            "Revision": 2,
56            "OpCodeMask": 65535,
57            "WordCountShift": 16
58        },
59        "enum":
60        [
61            {
62                "Name": "SourceLanguage",
63                "Type": "Value",
64                "Values":
65                {
66                    "Unknown": 0,
67                    "ESSL": 1,
68                    "GLSL": 2,
69                    "OpenCL_C": 3,
70                    "OpenCL_CPP": 4,
71                    "HLSL": 5
72                }
73            },
74            {
75                "Name": "ExecutionModel",
76                "Type": "Value",
77                "Values":
78                {
79                    "Vertex": 0,
80                    "TessellationControl": 1,
81                    "TessellationEvaluation": 2,
82                    "Geometry": 3,
83                    "Fragment": 4,
84                    "GLCompute": 5,
85                    "Kernel": 6
86                }
87            },
88            {
89                "Name": "AddressingModel",
90                "Type": "Value",
91                "Values":
92                {
93                    "Logical": 0,
94                    "Physical32": 1,
95                    "Physical64": 2
96                }
97            },
98            {
99                "Name": "MemoryModel",
100                "Type": "Value",
101                "Values":
102                {
103                    "Simple": 0,
104                    "GLSL450": 1,
105                    "OpenCL": 2
106                }
107            },
108            {
109                "Name": "ExecutionMode",
110                "Type": "Value",
111                "Values":
112                {
113                    "Invocations": 0,
114                    "SpacingEqual": 1,
115                    "SpacingFractionalEven": 2,
116                    "SpacingFractionalOdd": 3,
117                    "VertexOrderCw": 4,
118                    "VertexOrderCcw": 5,
119                    "PixelCenterInteger": 6,
120                    "OriginUpperLeft": 7,
121                    "OriginLowerLeft": 8,
122                    "EarlyFragmentTests": 9,
123                    "PointMode": 10,
124                    "Xfb": 11,
125                    "DepthReplacing": 12,
126                    "DepthGreater": 14,
127                    "DepthLess": 15,
128                    "DepthUnchanged": 16,
129                    "LocalSize": 17,
130                    "LocalSizeHint": 18,
131                    "InputPoints": 19,
132                    "InputLines": 20,
133                    "InputLinesAdjacency": 21,
134                    "Triangles": 22,
135                    "InputTrianglesAdjacency": 23,
136                    "Quads": 24,
137                    "Isolines": 25,
138                    "OutputVertices": 26,
139                    "OutputPoints": 27,
140                    "OutputLineStrip": 28,
141                    "OutputTriangleStrip": 29,
142                    "VecTypeHint": 30,
143                    "ContractionOff": 31,
144                    "Initializer": 33,
145                    "Finalizer": 34,
146                    "SubgroupSize": 35,
147                    "SubgroupsPerWorkgroup": 36,
148                    "SubgroupsPerWorkgroupId": 37,
149                    "LocalSizeId": 38,
150                    "LocalSizeHintId": 39,
151                    "PostDepthCoverage": 4446,
152                    "StencilRefReplacingEXT": 5027
153                }
154            },
155            {
156                "Name": "StorageClass",
157                "Type": "Value",
158                "Values":
159                {
160                    "UniformConstant": 0,
161                    "Input": 1,
162                    "Uniform": 2,
163                    "Output": 3,
164                    "Workgroup": 4,
165                    "CrossWorkgroup": 5,
166                    "Private": 6,
167                    "Function": 7,
168                    "Generic": 8,
169                    "PushConstant": 9,
170                    "AtomicCounter": 10,
171                    "Image": 11,
172                    "StorageBuffer": 12
173                }
174            },
175            {
176                "Name": "Dim",
177                "Type": "Value",
178                "Values":
179                {
180                    "Dim1D": 0,
181                    "Dim2D": 1,
182                    "Dim3D": 2,
183                    "Cube": 3,
184                    "Rect": 4,
185                    "Buffer": 5,
186                    "SubpassData": 6
187                }
188            },
189            {
190                "Name": "SamplerAddressingMode",
191                "Type": "Value",
192                "Values":
193                {
194                    "None": 0,
195                    "ClampToEdge": 1,
196                    "Clamp": 2,
197                    "Repeat": 3,
198                    "RepeatMirrored": 4
199                }
200            },
201            {
202                "Name": "SamplerFilterMode",
203                "Type": "Value",
204                "Values":
205                {
206                    "Nearest": 0,
207                    "Linear": 1
208                }
209            },
210            {
211                "Name": "ImageFormat",
212                "Type": "Value",
213                "Values":
214                {
215                    "Unknown": 0,
216                    "Rgba32f": 1,
217                    "Rgba16f": 2,
218                    "R32f": 3,
219                    "Rgba8": 4,
220                    "Rgba8Snorm": 5,
221                    "Rg32f": 6,
222                    "Rg16f": 7,
223                    "R11fG11fB10f": 8,
224                    "R16f": 9,
225                    "Rgba16": 10,
226                    "Rgb10A2": 11,
227                    "Rg16": 12,
228                    "Rg8": 13,
229                    "R16": 14,
230                    "R8": 15,
231                    "Rgba16Snorm": 16,
232                    "Rg16Snorm": 17,
233                    "Rg8Snorm": 18,
234                    "R16Snorm": 19,
235                    "R8Snorm": 20,
236                    "Rgba32i": 21,
237                    "Rgba16i": 22,
238                    "Rgba8i": 23,
239                    "R32i": 24,
240                    "Rg32i": 25,
241                    "Rg16i": 26,
242                    "Rg8i": 27,
243                    "R16i": 28,
244                    "R8i": 29,
245                    "Rgba32ui": 30,
246                    "Rgba16ui": 31,
247                    "Rgba8ui": 32,
248                    "R32ui": 33,
249                    "Rgb10a2ui": 34,
250                    "Rg32ui": 35,
251                    "Rg16ui": 36,
252                    "Rg8ui": 37,
253                    "R16ui": 38,
254                    "R8ui": 39
255                }
256            },
257            {
258                "Name": "ImageChannelOrder",
259                "Type": "Value",
260                "Values":
261                {
262                    "R": 0,
263                    "A": 1,
264                    "RG": 2,
265                    "RA": 3,
266                    "RGB": 4,
267                    "RGBA": 5,
268                    "BGRA": 6,
269                    "ARGB": 7,
270                    "Intensity": 8,
271                    "Luminance": 9,
272                    "Rx": 10,
273                    "RGx": 11,
274                    "RGBx": 12,
275                    "Depth": 13,
276                    "DepthStencil": 14,
277                    "sRGB": 15,
278                    "sRGBx": 16,
279                    "sRGBA": 17,
280                    "sBGRA": 18,
281                    "ABGR": 19
282                }
283            },
284            {
285                "Name": "ImageChannelDataType",
286                "Type": "Value",
287                "Values":
288                {
289                    "SnormInt8": 0,
290                    "SnormInt16": 1,
291                    "UnormInt8": 2,
292                    "UnormInt16": 3,
293                    "UnormShort565": 4,
294                    "UnormShort555": 5,
295                    "UnormInt101010": 6,
296                    "SignedInt8": 7,
297                    "SignedInt16": 8,
298                    "SignedInt32": 9,
299                    "UnsignedInt8": 10,
300                    "UnsignedInt16": 11,
301                    "UnsignedInt32": 12,
302                    "HalfFloat": 13,
303                    "Float": 14,
304                    "UnormInt24": 15,
305                    "UnormInt101010_2": 16
306                }
307            },
308            {
309                "Name": "ImageOperands",
310                "Type": "Bit",
311                "Values":
312                {
313                    "Bias": 0,
314                    "Lod": 1,
315                    "Grad": 2,
316                    "ConstOffset": 3,
317                    "Offset": 4,
318                    "ConstOffsets": 5,
319                    "Sample": 6,
320                    "MinLod": 7
321                }
322            },
323            {
324                "Name": "FPFastMathMode",
325                "Type": "Bit",
326                "Values":
327                {
328                    "NotNaN": 0,
329                    "NotInf": 1,
330                    "NSZ": 2,
331                    "AllowRecip": 3,
332                    "Fast": 4
333                }
334            },
335            {
336                "Name": "FPRoundingMode",
337                "Type": "Value",
338                "Values":
339                {
340                    "RTE": 0,
341                    "RTZ": 1,
342                    "RTP": 2,
343                    "RTN": 3
344                }
345            },
346            {
347                "Name": "LinkageType",
348                "Type": "Value",
349                "Values":
350                {
351                    "Export": 0,
352                    "Import": 1
353                }
354            },
355            {
356                "Name": "AccessQualifier",
357                "Type": "Value",
358                "Values":
359                {
360                    "ReadOnly": 0,
361                    "WriteOnly": 1,
362                    "ReadWrite": 2
363                }
364            },
365            {
366                "Name": "FunctionParameterAttribute",
367                "Type": "Value",
368                "Values":
369                {
370                    "Zext": 0,
371                    "Sext": 1,
372                    "ByVal": 2,
373                    "Sret": 3,
374                    "NoAlias": 4,
375                    "NoCapture": 5,
376                    "NoWrite": 6,
377                    "NoReadWrite": 7
378                }
379            },
380            {
381                "Name": "Decoration",
382                "Type": "Value",
383                "Values":
384                {
385                    "RelaxedPrecision": 0,
386                    "SpecId": 1,
387                    "Block": 2,
388                    "BufferBlock": 3,
389                    "RowMajor": 4,
390                    "ColMajor": 5,
391                    "ArrayStride": 6,
392                    "MatrixStride": 7,
393                    "GLSLShared": 8,
394                    "GLSLPacked": 9,
395                    "CPacked": 10,
396                    "BuiltIn": 11,
397                    "NoPerspective": 13,
398                    "Flat": 14,
399                    "Patch": 15,
400                    "Centroid": 16,
401                    "Sample": 17,
402                    "Invariant": 18,
403                    "Restrict": 19,
404                    "Aliased": 20,
405                    "Volatile": 21,
406                    "Constant": 22,
407                    "Coherent": 23,
408                    "NonWritable": 24,
409                    "NonReadable": 25,
410                    "Uniform": 26,
411                    "SaturatedConversion": 28,
412                    "Stream": 29,
413                    "Location": 30,
414                    "Component": 31,
415                    "Index": 32,
416                    "Binding": 33,
417                    "DescriptorSet": 34,
418                    "Offset": 35,
419                    "XfbBuffer": 36,
420                    "XfbStride": 37,
421                    "FuncParamAttr": 38,
422                    "FPRoundingMode": 39,
423                    "FPFastMathMode": 40,
424                    "LinkageAttributes": 41,
425                    "NoContraction": 42,
426                    "InputAttachmentIndex": 43,
427                    "Alignment": 44,
428                    "MaxByteOffset": 45,
429                    "AlignmentId": 46,
430                    "MaxByteOffsetId": 47,
431                    "ExplicitInterpAMD": 4999,
432                    "OverrideCoverageNV": 5248,
433                    "PassthroughNV": 5250,
434                    "ViewportRelativeNV": 5252,
435                    "SecondaryViewportRelativeNV": 5256,
436                    "HlslCounterBufferGOOGLE": 5634,
437                    "HlslSemanticGOOGLE": 5635
438                }
439            },
440            {
441                "Name": "BuiltIn",
442                "Type": "Value",
443                "Values":
444                {
445                    "Position": 0,
446                    "PointSize": 1,
447                    "ClipDistance": 3,
448                    "CullDistance": 4,
449                    "VertexId": 5,
450                    "InstanceId": 6,
451                    "PrimitiveId": 7,
452                    "InvocationId": 8,
453                    "Layer": 9,
454                    "ViewportIndex": 10,
455                    "TessLevelOuter": 11,
456                    "TessLevelInner": 12,
457                    "TessCoord": 13,
458                    "PatchVertices": 14,
459                    "FragCoord": 15,
460                    "PointCoord": 16,
461                    "FrontFacing": 17,
462                    "SampleId": 18,
463                    "SamplePosition": 19,
464                    "SampleMask": 20,
465                    "FragDepth": 22,
466                    "HelperInvocation": 23,
467                    "NumWorkgroups": 24,
468                    "WorkgroupSize": 25,
469                    "WorkgroupId": 26,
470                    "LocalInvocationId": 27,
471                    "GlobalInvocationId": 28,
472                    "LocalInvocationIndex": 29,
473                    "WorkDim": 30,
474                    "GlobalSize": 31,
475                    "EnqueuedWorkgroupSize": 32,
476                    "GlobalOffset": 33,
477                    "GlobalLinearId": 34,
478                    "SubgroupSize": 36,
479                    "SubgroupMaxSize": 37,
480                    "NumSubgroups": 38,
481                    "NumEnqueuedSubgroups": 39,
482                    "SubgroupId": 40,
483                    "SubgroupLocalInvocationId": 41,
484                    "VertexIndex": 42,
485                    "InstanceIndex": 43,
486                    "SubgroupEqMaskKHR": 4416,
487                    "SubgroupGeMaskKHR": 4417,
488                    "SubgroupGtMaskKHR": 4418,
489                    "SubgroupLeMaskKHR": 4419,
490                    "SubgroupLtMaskKHR": 4420,
491                    "BaseVertex": 4424,
492                    "BaseInstance": 4425,
493                    "DrawIndex": 4426,
494                    "DeviceIndex": 4438,
495                    "ViewIndex": 4440,
496                    "BaryCoordNoPerspAMD": 4992,
497                    "BaryCoordNoPerspCentroidAMD": 4993,
498                    "BaryCoordNoPerspSampleAMD": 4994,
499                    "BaryCoordSmoothAMD": 4995,
500                    "BaryCoordSmoothCentroidAMD": 4996,
501                    "BaryCoordSmoothSampleAMD": 4997,
502                    "BaryCoordPullModelAMD": 4998,
503                    "FragStencilRefEXT": 5014,
504                    "ViewportMaskNV": 5253,
505                    "SecondaryPositionNV": 5257,
506                    "SecondaryViewportMaskNV": 5258,
507                    "PositionPerViewNV": 5261,
508                    "ViewportMaskPerViewNV": 5262
509                }
510            },
511            {
512                "Name": "SelectionControl",
513                "Type": "Bit",
514                "Values":
515                {
516                    "Flatten": 0,
517                    "DontFlatten": 1
518                }
519            },
520            {
521                "Name": "LoopControl",
522                "Type": "Bit",
523                "Values":
524                {
525                    "Unroll": 0,
526                    "DontUnroll": 1,
527                    "DependencyInfinite": 2,
528                    "DependencyLength": 3
529                }
530            },
531            {
532                "Name": "FunctionControl",
533                "Type": "Bit",
534                "Values":
535                {
536                    "Inline": 0,
537                    "DontInline": 1,
538                    "Pure": 2,
539                    "Const": 3
540                }
541            },
542            {
543                "Name": "MemorySemantics",
544                "Type": "Bit",
545                "Values":
546                {
547                    "Acquire": 1,
548                    "Release": 2,
549                    "AcquireRelease": 3,
550                    "SequentiallyConsistent": 4,
551                    "UniformMemory": 6,
552                    "SubgroupMemory": 7,
553                    "WorkgroupMemory": 8,
554                    "CrossWorkgroupMemory": 9,
555                    "AtomicCounterMemory": 10,
556                    "ImageMemory": 11
557                }
558            },
559            {
560                "Name": "MemoryAccess",
561                "Type": "Bit",
562                "Values":
563                {
564                    "Volatile": 0,
565                    "Aligned": 1,
566                    "Nontemporal": 2
567                }
568            },
569            {
570                "Name": "Scope",
571                "Type": "Value",
572                "Values":
573                {
574                    "CrossDevice": 0,
575                    "Device": 1,
576                    "Workgroup": 2,
577                    "Subgroup": 3,
578                    "Invocation": 4
579                }
580            },
581            {
582                "Name": "GroupOperation",
583                "Type": "Value",
584                "Values":
585                {
586                    "Reduce": 0,
587                    "InclusiveScan": 1,
588                    "ExclusiveScan": 2
589                }
590            },
591            {
592                "Name": "KernelEnqueueFlags",
593                "Type": "Value",
594                "Values":
595                {
596                    "NoWait": 0,
597                    "WaitKernel": 1,
598                    "WaitWorkGroup": 2
599                }
600            },
601            {
602                "Name": "KernelProfilingInfo",
603                "Type": "Bit",
604                "Values":
605                {
606                    "CmdExecTime": 0
607                }
608            },
609            {
610                "Name": "Capability",
611                "Type": "Value",
612                "Values":
613                {
614                    "Matrix": 0,
615                    "Shader": 1,
616                    "Geometry": 2,
617                    "Tessellation": 3,
618                    "Addresses": 4,
619                    "Linkage": 5,
620                    "Kernel": 6,
621                    "Vector16": 7,
622                    "Float16Buffer": 8,
623                    "Float16": 9,
624                    "Float64": 10,
625                    "Int64": 11,
626                    "Int64Atomics": 12,
627                    "ImageBasic": 13,
628                    "ImageReadWrite": 14,
629                    "ImageMipmap": 15,
630                    "Pipes": 17,
631                    "Groups": 18,
632                    "DeviceEnqueue": 19,
633                    "LiteralSampler": 20,
634                    "AtomicStorage": 21,
635                    "Int16": 22,
636                    "TessellationPointSize": 23,
637                    "GeometryPointSize": 24,
638                    "ImageGatherExtended": 25,
639                    "StorageImageMultisample": 27,
640                    "UniformBufferArrayDynamicIndexing": 28,
641                    "SampledImageArrayDynamicIndexing": 29,
642                    "StorageBufferArrayDynamicIndexing": 30,
643                    "StorageImageArrayDynamicIndexing": 31,
644                    "ClipDistance": 32,
645                    "CullDistance": 33,
646                    "ImageCubeArray": 34,
647                    "SampleRateShading": 35,
648                    "ImageRect": 36,
649                    "SampledRect": 37,
650                    "GenericPointer": 38,
651                    "Int8": 39,
652                    "InputAttachment": 40,
653                    "SparseResidency": 41,
654                    "MinLod": 42,
655                    "Sampled1D": 43,
656                    "Image1D": 44,
657                    "SampledCubeArray": 45,
658                    "SampledBuffer": 46,
659                    "ImageBuffer": 47,
660                    "ImageMSArray": 48,
661                    "StorageImageExtendedFormats": 49,
662                    "ImageQuery": 50,
663                    "DerivativeControl": 51,
664                    "InterpolationFunction": 52,
665                    "TransformFeedback": 53,
666                    "GeometryStreams": 54,
667                    "StorageImageReadWithoutFormat": 55,
668                    "StorageImageWriteWithoutFormat": 56,
669                    "MultiViewport": 57,
670                    "SubgroupDispatch": 58,
671                    "NamedBarrier": 59,
672                    "PipeStorage": 60,
673                    "SubgroupBallotKHR": 4423,
674                    "DrawParameters": 4427,
675                    "SubgroupVoteKHR": 4431,
676                    "StorageBuffer16BitAccess": 4433,
677                    "StorageUniformBufferBlock16": 4433,
678                    "StorageUniform16": 4434,
679                    "UniformAndStorageBuffer16BitAccess": 4434,
680                    "StoragePushConstant16": 4435,
681                    "StorageInputOutput16": 4436,
682                    "DeviceGroup": 4437,
683                    "MultiView": 4439,
684                    "VariablePointersStorageBuffer": 4441,
685                    "VariablePointers": 4442,
686                    "AtomicStorageOps": 4445,
687                    "SampleMaskPostDepthCoverage": 4447,
688                    "ImageGatherBiasLodAMD": 5009,
689                    "FragmentMaskAMD": 5010,
690                    "StencilExportEXT": 5013,
691                    "ImageReadWriteLodAMD": 5015,
692                    "SampleMaskOverrideCoverageNV": 5249,
693                    "GeometryShaderPassthroughNV": 5251,
694                    "ShaderViewportIndexLayerEXT": 5254,
695                    "ShaderViewportIndexLayerNV": 5254,
696                    "ShaderViewportMaskNV": 5255,
697                    "ShaderStereoViewNV": 5259,
698                    "PerViewAttributesNV": 5260,
699                    "SubgroupShuffleINTEL": 5568,
700                    "SubgroupBufferBlockIOINTEL": 5569,
701                    "SubgroupImageBlockIOINTEL": 5570
702                }
703            },
704            {
705                "Name": "Op",
706                "Type": "Value",
707                "Values":
708                {
709                    "OpNop": 0,
710                    "OpUndef": 1,
711                    "OpSourceContinued": 2,
712                    "OpSource": 3,
713                    "OpSourceExtension": 4,
714                    "OpName": 5,
715                    "OpMemberName": 6,
716                    "OpString": 7,
717                    "OpLine": 8,
718                    "OpExtension": 10,
719                    "OpExtInstImport": 11,
720                    "OpExtInst": 12,
721                    "OpMemoryModel": 14,
722                    "OpEntryPoint": 15,
723                    "OpExecutionMode": 16,
724                    "OpCapability": 17,
725                    "OpTypeVoid": 19,
726                    "OpTypeBool": 20,
727                    "OpTypeInt": 21,
728                    "OpTypeFloat": 22,
729                    "OpTypeVector": 23,
730                    "OpTypeMatrix": 24,
731                    "OpTypeImage": 25,
732                    "OpTypeSampler": 26,
733                    "OpTypeSampledImage": 27,
734                    "OpTypeArray": 28,
735                    "OpTypeRuntimeArray": 29,
736                    "OpTypeStruct": 30,
737                    "OpTypeOpaque": 31,
738                    "OpTypePointer": 32,
739                    "OpTypeFunction": 33,
740                    "OpTypeEvent": 34,
741                    "OpTypeDeviceEvent": 35,
742                    "OpTypeReserveId": 36,
743                    "OpTypeQueue": 37,
744                    "OpTypePipe": 38,
745                    "OpTypeForwardPointer": 39,
746                    "OpConstantTrue": 41,
747                    "OpConstantFalse": 42,
748                    "OpConstant": 43,
749                    "OpConstantComposite": 44,
750                    "OpConstantSampler": 45,
751                    "OpConstantNull": 46,
752                    "OpSpecConstantTrue": 48,
753                    "OpSpecConstantFalse": 49,
754                    "OpSpecConstant": 50,
755                    "OpSpecConstantComposite": 51,
756                    "OpSpecConstantOp": 52,
757                    "OpFunction": 54,
758                    "OpFunctionParameter": 55,
759                    "OpFunctionEnd": 56,
760                    "OpFunctionCall": 57,
761                    "OpVariable": 59,
762                    "OpImageTexelPointer": 60,
763                    "OpLoad": 61,
764                    "OpStore": 62,
765                    "OpCopyMemory": 63,
766                    "OpCopyMemorySized": 64,
767                    "OpAccessChain": 65,
768                    "OpInBoundsAccessChain": 66,
769                    "OpPtrAccessChain": 67,
770                    "OpArrayLength": 68,
771                    "OpGenericPtrMemSemantics": 69,
772                    "OpInBoundsPtrAccessChain": 70,
773                    "OpDecorate": 71,
774                    "OpMemberDecorate": 72,
775                    "OpDecorationGroup": 73,
776                    "OpGroupDecorate": 74,
777                    "OpGroupMemberDecorate": 75,
778                    "OpVectorExtractDynamic": 77,
779                    "OpVectorInsertDynamic": 78,
780                    "OpVectorShuffle": 79,
781                    "OpCompositeConstruct": 80,
782                    "OpCompositeExtract": 81,
783                    "OpCompositeInsert": 82,
784                    "OpCopyObject": 83,
785                    "OpTranspose": 84,
786                    "OpSampledImage": 86,
787                    "OpImageSampleImplicitLod": 87,
788                    "OpImageSampleExplicitLod": 88,
789                    "OpImageSampleDrefImplicitLod": 89,
790                    "OpImageSampleDrefExplicitLod": 90,
791                    "OpImageSampleProjImplicitLod": 91,
792                    "OpImageSampleProjExplicitLod": 92,
793                    "OpImageSampleProjDrefImplicitLod": 93,
794                    "OpImageSampleProjDrefExplicitLod": 94,
795                    "OpImageFetch": 95,
796                    "OpImageGather": 96,
797                    "OpImageDrefGather": 97,
798                    "OpImageRead": 98,
799                    "OpImageWrite": 99,
800                    "OpImage": 100,
801                    "OpImageQueryFormat": 101,
802                    "OpImageQueryOrder": 102,
803                    "OpImageQuerySizeLod": 103,
804                    "OpImageQuerySize": 104,
805                    "OpImageQueryLod": 105,
806                    "OpImageQueryLevels": 106,
807                    "OpImageQuerySamples": 107,
808                    "OpConvertFToU": 109,
809                    "OpConvertFToS": 110,
810                    "OpConvertSToF": 111,
811                    "OpConvertUToF": 112,
812                    "OpUConvert": 113,
813                    "OpSConvert": 114,
814                    "OpFConvert": 115,
815                    "OpQuantizeToF16": 116,
816                    "OpConvertPtrToU": 117,
817                    "OpSatConvertSToU": 118,
818                    "OpSatConvertUToS": 119,
819                    "OpConvertUToPtr": 120,
820                    "OpPtrCastToGeneric": 121,
821                    "OpGenericCastToPtr": 122,
822                    "OpGenericCastToPtrExplicit": 123,
823                    "OpBitcast": 124,
824                    "OpSNegate": 126,
825                    "OpFNegate": 127,
826                    "OpIAdd": 128,
827                    "OpFAdd": 129,
828                    "OpISub": 130,
829                    "OpFSub": 131,
830                    "OpIMul": 132,
831                    "OpFMul": 133,
832                    "OpUDiv": 134,
833                    "OpSDiv": 135,
834                    "OpFDiv": 136,
835                    "OpUMod": 137,
836                    "OpSRem": 138,
837                    "OpSMod": 139,
838                    "OpFRem": 140,
839                    "OpFMod": 141,
840                    "OpVectorTimesScalar": 142,
841                    "OpMatrixTimesScalar": 143,
842                    "OpVectorTimesMatrix": 144,
843                    "OpMatrixTimesVector": 145,
844                    "OpMatrixTimesMatrix": 146,
845                    "OpOuterProduct": 147,
846                    "OpDot": 148,
847                    "OpIAddCarry": 149,
848                    "OpISubBorrow": 150,
849                    "OpUMulExtended": 151,
850                    "OpSMulExtended": 152,
851                    "OpAny": 154,
852                    "OpAll": 155,
853                    "OpIsNan": 156,
854                    "OpIsInf": 157,
855                    "OpIsFinite": 158,
856                    "OpIsNormal": 159,
857                    "OpSignBitSet": 160,
858                    "OpLessOrGreater": 161,
859                    "OpOrdered": 162,
860                    "OpUnordered": 163,
861                    "OpLogicalEqual": 164,
862                    "OpLogicalNotEqual": 165,
863                    "OpLogicalOr": 166,
864                    "OpLogicalAnd": 167,
865                    "OpLogicalNot": 168,
866                    "OpSelect": 169,
867                    "OpIEqual": 170,
868                    "OpINotEqual": 171,
869                    "OpUGreaterThan": 172,
870                    "OpSGreaterThan": 173,
871                    "OpUGreaterThanEqual": 174,
872                    "OpSGreaterThanEqual": 175,
873                    "OpULessThan": 176,
874                    "OpSLessThan": 177,
875                    "OpULessThanEqual": 178,
876                    "OpSLessThanEqual": 179,
877                    "OpFOrdEqual": 180,
878                    "OpFUnordEqual": 181,
879                    "OpFOrdNotEqual": 182,
880                    "OpFUnordNotEqual": 183,
881                    "OpFOrdLessThan": 184,
882                    "OpFUnordLessThan": 185,
883                    "OpFOrdGreaterThan": 186,
884                    "OpFUnordGreaterThan": 187,
885                    "OpFOrdLessThanEqual": 188,
886                    "OpFUnordLessThanEqual": 189,
887                    "OpFOrdGreaterThanEqual": 190,
888                    "OpFUnordGreaterThanEqual": 191,
889                    "OpShiftRightLogical": 194,
890                    "OpShiftRightArithmetic": 195,
891                    "OpShiftLeftLogical": 196,
892                    "OpBitwiseOr": 197,
893                    "OpBitwiseXor": 198,
894                    "OpBitwiseAnd": 199,
895                    "OpNot": 200,
896                    "OpBitFieldInsert": 201,
897                    "OpBitFieldSExtract": 202,
898                    "OpBitFieldUExtract": 203,
899                    "OpBitReverse": 204,
900                    "OpBitCount": 205,
901                    "OpDPdx": 207,
902                    "OpDPdy": 208,
903                    "OpFwidth": 209,
904                    "OpDPdxFine": 210,
905                    "OpDPdyFine": 211,
906                    "OpFwidthFine": 212,
907                    "OpDPdxCoarse": 213,
908                    "OpDPdyCoarse": 214,
909                    "OpFwidthCoarse": 215,
910                    "OpEmitVertex": 218,
911                    "OpEndPrimitive": 219,
912                    "OpEmitStreamVertex": 220,
913                    "OpEndStreamPrimitive": 221,
914                    "OpControlBarrier": 224,
915                    "OpMemoryBarrier": 225,
916                    "OpAtomicLoad": 227,
917                    "OpAtomicStore": 228,
918                    "OpAtomicExchange": 229,
919                    "OpAtomicCompareExchange": 230,
920                    "OpAtomicCompareExchangeWeak": 231,
921                    "OpAtomicIIncrement": 232,
922                    "OpAtomicIDecrement": 233,
923                    "OpAtomicIAdd": 234,
924                    "OpAtomicISub": 235,
925                    "OpAtomicSMin": 236,
926                    "OpAtomicUMin": 237,
927                    "OpAtomicSMax": 238,
928                    "OpAtomicUMax": 239,
929                    "OpAtomicAnd": 240,
930                    "OpAtomicOr": 241,
931                    "OpAtomicXor": 242,
932                    "OpPhi": 245,
933                    "OpLoopMerge": 246,
934                    "OpSelectionMerge": 247,
935                    "OpLabel": 248,
936                    "OpBranch": 249,
937                    "OpBranchConditional": 250,
938                    "OpSwitch": 251,
939                    "OpKill": 252,
940                    "OpReturn": 253,
941                    "OpReturnValue": 254,
942                    "OpUnreachable": 255,
943                    "OpLifetimeStart": 256,
944                    "OpLifetimeStop": 257,
945                    "OpGroupAsyncCopy": 259,
946                    "OpGroupWaitEvents": 260,
947                    "OpGroupAll": 261,
948                    "OpGroupAny": 262,
949                    "OpGroupBroadcast": 263,
950                    "OpGroupIAdd": 264,
951                    "OpGroupFAdd": 265,
952                    "OpGroupFMin": 266,
953                    "OpGroupUMin": 267,
954                    "OpGroupSMin": 268,
955                    "OpGroupFMax": 269,
956                    "OpGroupUMax": 270,
957                    "OpGroupSMax": 271,
958                    "OpReadPipe": 274,
959                    "OpWritePipe": 275,
960                    "OpReservedReadPipe": 276,
961                    "OpReservedWritePipe": 277,
962                    "OpReserveReadPipePackets": 278,
963                    "OpReserveWritePipePackets": 279,
964                    "OpCommitReadPipe": 280,
965                    "OpCommitWritePipe": 281,
966                    "OpIsValidReserveId": 282,
967                    "OpGetNumPipePackets": 283,
968                    "OpGetMaxPipePackets": 284,
969                    "OpGroupReserveReadPipePackets": 285,
970                    "OpGroupReserveWritePipePackets": 286,
971                    "OpGroupCommitReadPipe": 287,
972                    "OpGroupCommitWritePipe": 288,
973                    "OpEnqueueMarker": 291,
974                    "OpEnqueueKernel": 292,
975                    "OpGetKernelNDrangeSubGroupCount": 293,
976                    "OpGetKernelNDrangeMaxSubGroupSize": 294,
977                    "OpGetKernelWorkGroupSize": 295,
978                    "OpGetKernelPreferredWorkGroupSizeMultiple": 296,
979                    "OpRetainEvent": 297,
980                    "OpReleaseEvent": 298,
981                    "OpCreateUserEvent": 299,
982                    "OpIsValidEvent": 300,
983                    "OpSetUserEventStatus": 301,
984                    "OpCaptureEventProfilingInfo": 302,
985                    "OpGetDefaultQueue": 303,
986                    "OpBuildNDRange": 304,
987                    "OpImageSparseSampleImplicitLod": 305,
988                    "OpImageSparseSampleExplicitLod": 306,
989                    "OpImageSparseSampleDrefImplicitLod": 307,
990                    "OpImageSparseSampleDrefExplicitLod": 308,
991                    "OpImageSparseSampleProjImplicitLod": 309,
992                    "OpImageSparseSampleProjExplicitLod": 310,
993                    "OpImageSparseSampleProjDrefImplicitLod": 311,
994                    "OpImageSparseSampleProjDrefExplicitLod": 312,
995                    "OpImageSparseFetch": 313,
996                    "OpImageSparseGather": 314,
997                    "OpImageSparseDrefGather": 315,
998                    "OpImageSparseTexelsResident": 316,
999                    "OpNoLine": 317,
1000                    "OpAtomicFlagTestAndSet": 318,
1001                    "OpAtomicFlagClear": 319,
1002                    "OpImageSparseRead": 320,
1003                    "OpSizeOf": 321,
1004                    "OpTypePipeStorage": 322,
1005                    "OpConstantPipeStorage": 323,
1006                    "OpCreatePipeFromPipeStorage": 324,
1007                    "OpGetKernelLocalSizeForSubgroupCount": 325,
1008                    "OpGetKernelMaxNumSubgroups": 326,
1009                    "OpTypeNamedBarrier": 327,
1010                    "OpNamedBarrierInitialize": 328,
1011                    "OpMemoryNamedBarrier": 329,
1012                    "OpModuleProcessed": 330,
1013                    "OpExecutionModeId": 331,
1014                    "OpDecorateId": 332,
1015                    "OpSubgroupBallotKHR": 4421,
1016                    "OpSubgroupFirstInvocationKHR": 4422,
1017                    "OpSubgroupAllKHR": 4428,
1018                    "OpSubgroupAnyKHR": 4429,
1019                    "OpSubgroupAllEqualKHR": 4430,
1020                    "OpSubgroupReadInvocationKHR": 4432,
1021                    "OpGroupIAddNonUniformAMD": 5000,
1022                    "OpGroupFAddNonUniformAMD": 5001,
1023                    "OpGroupFMinNonUniformAMD": 5002,
1024                    "OpGroupUMinNonUniformAMD": 5003,
1025                    "OpGroupSMinNonUniformAMD": 5004,
1026                    "OpGroupFMaxNonUniformAMD": 5005,
1027                    "OpGroupUMaxNonUniformAMD": 5006,
1028                    "OpGroupSMaxNonUniformAMD": 5007,
1029                    "OpFragmentMaskFetchAMD": 5011,
1030                    "OpFragmentFetchAMD": 5012,
1031                    "OpSubgroupShuffleINTEL": 5571,
1032                    "OpSubgroupShuffleDownINTEL": 5572,
1033                    "OpSubgroupShuffleUpINTEL": 5573,
1034                    "OpSubgroupShuffleXorINTEL": 5574,
1035                    "OpSubgroupBlockReadINTEL": 5575,
1036                    "OpSubgroupBlockWriteINTEL": 5576,
1037                    "OpSubgroupImageBlockReadINTEL": 5577,
1038                    "OpSubgroupImageBlockWriteINTEL": 5578,
1039                    "OpDecorateStringGOOGLE": 5632,
1040                    "OpMemberDecorateStringGOOGLE": 5633
1041                }
1042            }
1043        ]
1044    }
1045}
1046
1047