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