1
# Copyright (c) 2014-2016 The Khronos Group Inc.
3
# Permission is hereby granted, free of charge, to any person obtaining a copy
4
# of this software and/or associated documentation files (the "Materials"),
5
# to deal in the Materials without restriction, including without limitation
6
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
7
# and/or sell copies of the Materials, and to permit persons to whom the
8
# Materials are furnished to do so, subject to the following conditions:
10
# The above copyright notice and this permission notice shall be included in
11
# all copies or substantial portions of the Materials.
13
# MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
14
# STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
15
# HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
17
# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22
# FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
25
# This header is automatically generated by the same tool that creates
26
# the Binary Section of the SPIR-V specification.
28
# Enumeration tokens for SPIR-V, in various styles:
29
# C, C++, C++11, JSON, Lua, Python
31
# - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
32
# - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
33
# - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
34
# - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
35
# - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
37
# Some tokens act like mask values, which can be OR'd together,
38
# while others are mutually exclusive. The mask-like ones have
39
# "Mask" in their name, and a parallel enum that has the shift
40
# amount (1 << x) for each corresponding enumerant.
43
'MagicNumber' : 0x07230203,
44
'Version' : 0x00010000,
46
'OpCodeMask' : 0xffff,
47
'WordCountShift' : 16,
59
'TessellationControl' : 1,
60
'TessellationEvaluation' : 2,
82
'SpacingFractionalEven' : 2,
83
'SpacingFractionalOdd' : 3,
86
'PixelCenterInteger' : 6,
87
'OriginUpperLeft' : 7,
88
'OriginLowerLeft' : 8,
89
'EarlyFragmentTests' : 9,
92
'DepthReplacing' : 12,
95
'DepthUnchanged' : 16,
100
'InputLinesAdjacency' : 21,
102
'InputTrianglesAdjacency' : 23,
105
'OutputVertices' : 26,
107
'OutputLineStrip' : 28,
108
'OutputTriangleStrip' : 29,
110
'ContractionOff' : 31,
114
'UniformConstant' : 0,
119
'CrossWorkgroup' : 5,
124
'AtomicCounter' : 10,
138
'SamplerAddressingMode' : {
143
'RepeatMirrored' : 4,
146
'SamplerFilterMode' : {
194
'ImageChannelOrder' : {
216
'ImageChannelDataType' : {
223
'UnormInt101010' : 6,
228
'UnsignedInt16' : 11,
229
'UnsignedInt32' : 12,
233
'UnormInt101010_2' : 16,
236
'ImageOperandsShift' : {
247
'ImageOperandsMask' : {
252
'ConstOffset' : 0x00000008,
253
'Offset' : 0x00000010,
254
'ConstOffsets' : 0x00000020,
255
'Sample' : 0x00000040,
256
'MinLod' : 0x00000080,
259
'FPFastMathModeShift' : {
267
'FPFastMathModeMask' : {
269
'NotNaN' : 0x00000001,
270
'NotInf' : 0x00000002,
272
'AllowRecip' : 0x00000008,
288
'AccessQualifier' : {
294
'FunctionParameterAttribute' : {
306
'RelaxedPrecision' : 0,
318
'NoPerspective' : 13,
332
'SaturatedConversion' : 28,
338
'DescriptorSet' : 34,
342
'FuncParamAttr' : 38,
343
'FPRoundingMode' : 39,
344
'FPFastMathMode' : 40,
345
'LinkageAttributes' : 41,
346
'NoContraction' : 42,
347
'InputAttachmentIndex' : 43,
361
'ViewportIndex' : 10,
362
'TessLevelOuter' : 11,
363
'TessLevelInner' : 12,
365
'PatchVertices' : 14,
370
'SamplePosition' : 19,
373
'HelperInvocation' : 23,
374
'NumWorkgroups' : 24,
375
'WorkgroupSize' : 25,
377
'LocalInvocationId' : 27,
378
'GlobalInvocationId' : 28,
379
'LocalInvocationIndex' : 29,
382
'EnqueuedWorkgroupSize' : 32,
384
'GlobalLinearId' : 34,
386
'SubgroupMaxSize' : 37,
388
'NumEnqueuedSubgroups' : 39,
390
'SubgroupLocalInvocationId' : 41,
392
'InstanceIndex' : 43,
395
'SelectionControlShift' : {
400
'SelectionControlMask' : {
402
'Flatten' : 0x00000001,
403
'DontFlatten' : 0x00000002,
406
'LoopControlShift' : {
411
'LoopControlMask' : {
413
'Unroll' : 0x00000001,
414
'DontUnroll' : 0x00000002,
417
'FunctionControlShift' : {
424
'FunctionControlMask' : {
426
'Inline' : 0x00000001,
427
'DontInline' : 0x00000002,
429
'Const' : 0x00000008,
432
'MemorySemanticsShift' : {
435
'AcquireRelease' : 3,
436
'SequentiallyConsistent' : 4,
438
'SubgroupMemory' : 7,
439
'WorkgroupMemory' : 8,
440
'CrossWorkgroupMemory' : 9,
441
'AtomicCounterMemory' : 10,
445
'MemorySemanticsMask' : {
447
'Acquire' : 0x00000002,
448
'Release' : 0x00000004,
449
'AcquireRelease' : 0x00000008,
450
'SequentiallyConsistent' : 0x00000010,
451
'UniformMemory' : 0x00000040,
452
'SubgroupMemory' : 0x00000080,
453
'WorkgroupMemory' : 0x00000100,
454
'CrossWorkgroupMemory' : 0x00000200,
455
'AtomicCounterMemory' : 0x00000400,
456
'ImageMemory' : 0x00000800,
459
'MemoryAccessShift' : {
465
'MemoryAccessMask' : {
467
'Volatile' : 0x00000001,
468
'Aligned' : 0x00000002,
469
'Nontemporal' : 0x00000004,
486
'KernelEnqueueFlags' : {
492
'KernelProfilingInfoShift' : {
496
'KernelProfilingInfoMask' : {
498
'CmdExecTime' : 0x00000001,
516
'ImageReadWrite' : 14,
520
'DeviceEnqueue' : 19,
521
'LiteralSampler' : 20,
522
'AtomicStorage' : 21,
524
'TessellationPointSize' : 23,
525
'GeometryPointSize' : 24,
526
'ImageGatherExtended' : 25,
527
'StorageImageMultisample' : 27,
528
'UniformBufferArrayDynamicIndexing' : 28,
529
'SampledImageArrayDynamicIndexing' : 29,
530
'StorageBufferArrayDynamicIndexing' : 30,
531
'StorageImageArrayDynamicIndexing' : 31,
534
'ImageCubeArray' : 34,
535
'SampleRateShading' : 35,
538
'GenericPointer' : 38,
540
'InputAttachment' : 40,
541
'SparseResidency' : 41,
545
'SampledCubeArray' : 45,
546
'SampledBuffer' : 46,
549
'StorageImageExtendedFormats' : 49,
551
'DerivativeControl' : 51,
552
'InterpolationFunction' : 52,
553
'TransformFeedback' : 53,
554
'GeometryStreams' : 54,
555
'StorageImageReadWithoutFormat' : 55,
556
'StorageImageWriteWithoutFormat' : 56,
557
'MultiViewport' : 57,
563
'OpSourceContinued' : 2,
565
'OpSourceExtension' : 4,
571
'OpExtInstImport' : 11,
573
'OpMemoryModel' : 14,
575
'OpExecutionMode' : 16,
584
'OpTypeSampler' : 26,
585
'OpTypeSampledImage' : 27,
587
'OpTypeRuntimeArray' : 29,
590
'OpTypePointer' : 32,
591
'OpTypeFunction' : 33,
593
'OpTypeDeviceEvent' : 35,
594
'OpTypeReserveId' : 36,
597
'OpTypeForwardPointer' : 39,
598
'OpConstantTrue' : 41,
599
'OpConstantFalse' : 42,
601
'OpConstantComposite' : 44,
602
'OpConstantSampler' : 45,
603
'OpConstantNull' : 46,
604
'OpSpecConstantTrue' : 48,
605
'OpSpecConstantFalse' : 49,
606
'OpSpecConstant' : 50,
607
'OpSpecConstantComposite' : 51,
608
'OpSpecConstantOp' : 52,
610
'OpFunctionParameter' : 55,
611
'OpFunctionEnd' : 56,
612
'OpFunctionCall' : 57,
614
'OpImageTexelPointer' : 60,
618
'OpCopyMemorySized' : 64,
619
'OpAccessChain' : 65,
620
'OpInBoundsAccessChain' : 66,
621
'OpPtrAccessChain' : 67,
622
'OpArrayLength' : 68,
623
'OpGenericPtrMemSemantics' : 69,
624
'OpInBoundsPtrAccessChain' : 70,
626
'OpMemberDecorate' : 72,
627
'OpDecorationGroup' : 73,
628
'OpGroupDecorate' : 74,
629
'OpGroupMemberDecorate' : 75,
630
'OpVectorExtractDynamic' : 77,
631
'OpVectorInsertDynamic' : 78,
632
'OpVectorShuffle' : 79,
633
'OpCompositeConstruct' : 80,
634
'OpCompositeExtract' : 81,
635
'OpCompositeInsert' : 82,
638
'OpSampledImage' : 86,
639
'OpImageSampleImplicitLod' : 87,
640
'OpImageSampleExplicitLod' : 88,
641
'OpImageSampleDrefImplicitLod' : 89,
642
'OpImageSampleDrefExplicitLod' : 90,
643
'OpImageSampleProjImplicitLod' : 91,
644
'OpImageSampleProjExplicitLod' : 92,
645
'OpImageSampleProjDrefImplicitLod' : 93,
646
'OpImageSampleProjDrefExplicitLod' : 94,
648
'OpImageGather' : 96,
649
'OpImageDrefGather' : 97,
653
'OpImageQueryFormat' : 101,
654
'OpImageQueryOrder' : 102,
655
'OpImageQuerySizeLod' : 103,
656
'OpImageQuerySize' : 104,
657
'OpImageQueryLod' : 105,
658
'OpImageQueryLevels' : 106,
659
'OpImageQuerySamples' : 107,
660
'OpConvertFToU' : 109,
661
'OpConvertFToS' : 110,
662
'OpConvertSToF' : 111,
663
'OpConvertUToF' : 112,
667
'OpQuantizeToF16' : 116,
668
'OpConvertPtrToU' : 117,
669
'OpSatConvertSToU' : 118,
670
'OpSatConvertUToS' : 119,
671
'OpConvertUToPtr' : 120,
672
'OpPtrCastToGeneric' : 121,
673
'OpGenericCastToPtr' : 122,
674
'OpGenericCastToPtrExplicit' : 123,
692
'OpVectorTimesScalar' : 142,
693
'OpMatrixTimesScalar' : 143,
694
'OpVectorTimesMatrix' : 144,
695
'OpMatrixTimesVector' : 145,
696
'OpMatrixTimesMatrix' : 146,
697
'OpOuterProduct' : 147,
700
'OpISubBorrow' : 150,
701
'OpUMulExtended' : 151,
702
'OpSMulExtended' : 152,
709
'OpSignBitSet' : 160,
710
'OpLessOrGreater' : 161,
713
'OpLogicalEqual' : 164,
714
'OpLogicalNotEqual' : 165,
716
'OpLogicalAnd' : 167,
717
'OpLogicalNot' : 168,
721
'OpUGreaterThan' : 172,
722
'OpSGreaterThan' : 173,
723
'OpUGreaterThanEqual' : 174,
724
'OpSGreaterThanEqual' : 175,
727
'OpULessThanEqual' : 178,
728
'OpSLessThanEqual' : 179,
730
'OpFUnordEqual' : 181,
731
'OpFOrdNotEqual' : 182,
732
'OpFUnordNotEqual' : 183,
733
'OpFOrdLessThan' : 184,
734
'OpFUnordLessThan' : 185,
735
'OpFOrdGreaterThan' : 186,
736
'OpFUnordGreaterThan' : 187,
737
'OpFOrdLessThanEqual' : 188,
738
'OpFUnordLessThanEqual' : 189,
739
'OpFOrdGreaterThanEqual' : 190,
740
'OpFUnordGreaterThanEqual' : 191,
741
'OpShiftRightLogical' : 194,
742
'OpShiftRightArithmetic' : 195,
743
'OpShiftLeftLogical' : 196,
745
'OpBitwiseXor' : 198,
746
'OpBitwiseAnd' : 199,
748
'OpBitFieldInsert' : 201,
749
'OpBitFieldSExtract' : 202,
750
'OpBitFieldUExtract' : 203,
751
'OpBitReverse' : 204,
758
'OpFwidthFine' : 212,
759
'OpDPdxCoarse' : 213,
760
'OpDPdyCoarse' : 214,
761
'OpFwidthCoarse' : 215,
762
'OpEmitVertex' : 218,
763
'OpEndPrimitive' : 219,
764
'OpEmitStreamVertex' : 220,
765
'OpEndStreamPrimitive' : 221,
766
'OpControlBarrier' : 224,
767
'OpMemoryBarrier' : 225,
768
'OpAtomicLoad' : 227,
769
'OpAtomicStore' : 228,
770
'OpAtomicExchange' : 229,
771
'OpAtomicCompareExchange' : 230,
772
'OpAtomicCompareExchangeWeak' : 231,
773
'OpAtomicIIncrement' : 232,
774
'OpAtomicIDecrement' : 233,
775
'OpAtomicIAdd' : 234,
776
'OpAtomicISub' : 235,
777
'OpAtomicSMin' : 236,
778
'OpAtomicUMin' : 237,
779
'OpAtomicSMax' : 238,
780
'OpAtomicUMax' : 239,
786
'OpSelectionMerge' : 247,
789
'OpBranchConditional' : 250,
793
'OpReturnValue' : 254,
794
'OpUnreachable' : 255,
795
'OpLifetimeStart' : 256,
796
'OpLifetimeStop' : 257,
797
'OpGroupAsyncCopy' : 259,
798
'OpGroupWaitEvents' : 260,
801
'OpGroupBroadcast' : 263,
812
'OpReservedReadPipe' : 276,
813
'OpReservedWritePipe' : 277,
814
'OpReserveReadPipePackets' : 278,
815
'OpReserveWritePipePackets' : 279,
816
'OpCommitReadPipe' : 280,
817
'OpCommitWritePipe' : 281,
818
'OpIsValidReserveId' : 282,
819
'OpGetNumPipePackets' : 283,
820
'OpGetMaxPipePackets' : 284,
821
'OpGroupReserveReadPipePackets' : 285,
822
'OpGroupReserveWritePipePackets' : 286,
823
'OpGroupCommitReadPipe' : 287,
824
'OpGroupCommitWritePipe' : 288,
825
'OpEnqueueMarker' : 291,
826
'OpEnqueueKernel' : 292,
827
'OpGetKernelNDrangeSubGroupCount' : 293,
828
'OpGetKernelNDrangeMaxSubGroupSize' : 294,
829
'OpGetKernelWorkGroupSize' : 295,
830
'OpGetKernelPreferredWorkGroupSizeMultiple' : 296,
831
'OpRetainEvent' : 297,
832
'OpReleaseEvent' : 298,
833
'OpCreateUserEvent' : 299,
834
'OpIsValidEvent' : 300,
835
'OpSetUserEventStatus' : 301,
836
'OpCaptureEventProfilingInfo' : 302,
837
'OpGetDefaultQueue' : 303,
838
'OpBuildNDRange' : 304,
839
'OpImageSparseSampleImplicitLod' : 305,
840
'OpImageSparseSampleExplicitLod' : 306,
841
'OpImageSparseSampleDrefImplicitLod' : 307,
842
'OpImageSparseSampleDrefExplicitLod' : 308,
843
'OpImageSparseSampleProjImplicitLod' : 309,
844
'OpImageSparseSampleProjExplicitLod' : 310,
845
'OpImageSparseSampleProjDrefImplicitLod' : 311,
846
'OpImageSparseSampleProjDrefExplicitLod' : 312,
847
'OpImageSparseFetch' : 313,
848
'OpImageSparseGather' : 314,
849
'OpImageSparseDrefGather' : 315,
850
'OpImageSparseTexelsResident' : 316,
852
'OpAtomicFlagTestAndSet' : 318,
853
'OpAtomicFlagClear' : 319,
854
'OpImageSparseRead' : 320,