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