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