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