1 -- Copyright (c) 2014-2018 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,
60 TessellationControl = 1,
61 TessellationEvaluation = 2,
83 SpacingFractionalEven = 2,
84 SpacingFractionalOdd = 3,
87 PixelCenterInteger = 6,
90 EarlyFragmentTests = 9,
101 InputLinesAdjacency = 21,
103 InputTrianglesAdjacency = 23,
108 OutputLineStrip = 28,
109 OutputTriangleStrip = 29,
115 SubgroupsPerWorkgroup = 36,
116 SubgroupsPerWorkgroupId = 37,
118 LocalSizeHintId = 39,
119 PostDepthCoverage = 4446,
120 StencilRefReplacingEXT = 5027,
149 SamplerAddressingMode = {
157 SamplerFilterMode = {
205 ImageChannelOrder = {
228 ImageChannelDataType = {
245 UnormInt101010_2 = 16,
248 ImageOperandsShift = {
259 ImageOperandsMask = {
264 ConstOffset = 0x00000008,
266 ConstOffsets = 0x00000020,
271 FPFastMathModeShift = {
279 FPFastMathModeMask = {
284 AllowRecip = 0x00000008,
306 FunctionParameterAttribute = {
318 RelaxedPrecision = 0,
344 SaturatedConversion = 28,
357 LinkageAttributes = 41,
359 InputAttachmentIndex = 43,
363 MaxByteOffsetId = 47,
364 ExplicitInterpAMD = 4999,
365 OverrideCoverageNV = 5248,
366 PassthroughNV = 5250,
367 ViewportRelativeNV = 5252,
368 SecondaryViewportRelativeNV = 5256,
393 HelperInvocation = 23,
397 LocalInvocationId = 27,
398 GlobalInvocationId = 28,
399 LocalInvocationIndex = 29,
402 EnqueuedWorkgroupSize = 32,
406 SubgroupMaxSize = 37,
408 NumEnqueuedSubgroups = 39,
410 SubgroupLocalInvocationId = 41,
413 SubgroupEqMaskKHR = 4416,
414 SubgroupGeMaskKHR = 4417,
415 SubgroupGtMaskKHR = 4418,
416 SubgroupLeMaskKHR = 4419,
417 SubgroupLtMaskKHR = 4420,
423 BaryCoordNoPerspAMD = 4992,
424 BaryCoordNoPerspCentroidAMD = 4993,
425 BaryCoordNoPerspSampleAMD = 4994,
426 BaryCoordSmoothAMD = 4995,
427 BaryCoordSmoothCentroidAMD = 4996,
428 BaryCoordSmoothSampleAMD = 4997,
429 BaryCoordPullModelAMD = 4998,
430 FragStencilRefEXT = 5014,
431 ViewportMaskNV = 5253,
432 SecondaryPositionNV = 5257,
433 SecondaryViewportMaskNV = 5258,
434 PositionPerViewNV = 5261,
435 ViewportMaskPerViewNV = 5262,
436 FullyCoveredEXT = 5264,
439 SelectionControlShift = {
444 SelectionControlMask = {
446 Flatten = 0x00000001,
447 DontFlatten = 0x00000002,
453 DependencyInfinite = 2,
454 DependencyLength = 3,
460 DontUnroll = 0x00000002,
461 DependencyInfinite = 0x00000004,
462 DependencyLength = 0x00000008,
465 FunctionControlShift = {
472 FunctionControlMask = {
475 DontInline = 0x00000002,
480 MemorySemanticsShift = {
484 SequentiallyConsistent = 4,
488 CrossWorkgroupMemory = 9,
489 AtomicCounterMemory = 10,
493 MemorySemanticsMask = {
495 Acquire = 0x00000002,
496 Release = 0x00000004,
497 AcquireRelease = 0x00000008,
498 SequentiallyConsistent = 0x00000010,
499 UniformMemory = 0x00000040,
500 SubgroupMemory = 0x00000080,
501 WorkgroupMemory = 0x00000100,
502 CrossWorkgroupMemory = 0x00000200,
503 AtomicCounterMemory = 0x00000400,
504 ImageMemory = 0x00000800,
507 MemoryAccessShift = {
515 Volatile = 0x00000001,
516 Aligned = 0x00000002,
517 Nontemporal = 0x00000004,
534 KernelEnqueueFlags = {
540 KernelProfilingInfoShift = {
544 KernelProfilingInfoMask = {
546 CmdExecTime = 0x00000001,
572 TessellationPointSize = 23,
573 GeometryPointSize = 24,
574 ImageGatherExtended = 25,
575 StorageImageMultisample = 27,
576 UniformBufferArrayDynamicIndexing = 28,
577 SampledImageArrayDynamicIndexing = 29,
578 StorageBufferArrayDynamicIndexing = 30,
579 StorageImageArrayDynamicIndexing = 31,
583 SampleRateShading = 35,
588 InputAttachment = 40,
589 SparseResidency = 41,
593 SampledCubeArray = 45,
597 StorageImageExtendedFormats = 49,
599 DerivativeControl = 51,
600 InterpolationFunction = 52,
601 TransformFeedback = 53,
602 GeometryStreams = 54,
603 StorageImageReadWithoutFormat = 55,
604 StorageImageWriteWithoutFormat = 56,
606 SubgroupDispatch = 58,
609 SubgroupBallotKHR = 4423,
610 DrawParameters = 4427,
611 SubgroupVoteKHR = 4431,
612 StorageBuffer16BitAccess = 4433,
613 StorageUniformBufferBlock16 = 4433,
614 StorageUniform16 = 4434,
615 UniformAndStorageBuffer16BitAccess = 4434,
616 StoragePushConstant16 = 4435,
617 StorageInputOutput16 = 4436,
620 VariablePointersStorageBuffer = 4441,
621 VariablePointers = 4442,
622 AtomicStorageOps = 4445,
623 SampleMaskPostDepthCoverage = 4447,
624 ImageGatherBiasLodAMD = 5009,
625 FragmentMaskAMD = 5010,
626 StencilExportEXT = 5013,
627 ImageReadWriteLodAMD = 5015,
628 SampleMaskOverrideCoverageNV = 5249,
629 GeometryShaderPassthroughNV = 5251,
630 ShaderViewportIndexLayerEXT = 5254,
631 ShaderViewportIndexLayerNV = 5254,
632 ShaderViewportMaskNV = 5255,
633 ShaderStereoViewNV = 5259,
634 PerViewAttributesNV = 5260,
635 FragmentFullyCoveredEXT = 5265,
636 SubgroupShuffleINTEL = 5568,
637 SubgroupBufferBlockIOINTEL = 5569,
638 SubgroupImageBlockIOINTEL = 5570,
644 OpSourceContinued = 2,
646 OpSourceExtension = 4,
652 OpExtInstImport = 11,
656 OpExecutionMode = 16,
666 OpTypeSampledImage = 27,
668 OpTypeRuntimeArray = 29,
674 OpTypeDeviceEvent = 35,
675 OpTypeReserveId = 36,
678 OpTypeForwardPointer = 39,
680 OpConstantFalse = 42,
682 OpConstantComposite = 44,
683 OpConstantSampler = 45,
685 OpSpecConstantTrue = 48,
686 OpSpecConstantFalse = 49,
688 OpSpecConstantComposite = 51,
689 OpSpecConstantOp = 52,
691 OpFunctionParameter = 55,
695 OpImageTexelPointer = 60,
699 OpCopyMemorySized = 64,
701 OpInBoundsAccessChain = 66,
702 OpPtrAccessChain = 67,
704 OpGenericPtrMemSemantics = 69,
705 OpInBoundsPtrAccessChain = 70,
707 OpMemberDecorate = 72,
708 OpDecorationGroup = 73,
709 OpGroupDecorate = 74,
710 OpGroupMemberDecorate = 75,
711 OpVectorExtractDynamic = 77,
712 OpVectorInsertDynamic = 78,
713 OpVectorShuffle = 79,
714 OpCompositeConstruct = 80,
715 OpCompositeExtract = 81,
716 OpCompositeInsert = 82,
720 OpImageSampleImplicitLod = 87,
721 OpImageSampleExplicitLod = 88,
722 OpImageSampleDrefImplicitLod = 89,
723 OpImageSampleDrefExplicitLod = 90,
724 OpImageSampleProjImplicitLod = 91,
725 OpImageSampleProjExplicitLod = 92,
726 OpImageSampleProjDrefImplicitLod = 93,
727 OpImageSampleProjDrefExplicitLod = 94,
730 OpImageDrefGather = 97,
734 OpImageQueryFormat = 101,
735 OpImageQueryOrder = 102,
736 OpImageQuerySizeLod = 103,
737 OpImageQuerySize = 104,
738 OpImageQueryLod = 105,
739 OpImageQueryLevels = 106,
740 OpImageQuerySamples = 107,
748 OpQuantizeToF16 = 116,
749 OpConvertPtrToU = 117,
750 OpSatConvertSToU = 118,
751 OpSatConvertUToS = 119,
752 OpConvertUToPtr = 120,
753 OpPtrCastToGeneric = 121,
754 OpGenericCastToPtr = 122,
755 OpGenericCastToPtrExplicit = 123,
773 OpVectorTimesScalar = 142,
774 OpMatrixTimesScalar = 143,
775 OpVectorTimesMatrix = 144,
776 OpMatrixTimesVector = 145,
777 OpMatrixTimesMatrix = 146,
778 OpOuterProduct = 147,
782 OpUMulExtended = 151,
783 OpSMulExtended = 152,
791 OpLessOrGreater = 161,
794 OpLogicalEqual = 164,
795 OpLogicalNotEqual = 165,
802 OpUGreaterThan = 172,
803 OpSGreaterThan = 173,
804 OpUGreaterThanEqual = 174,
805 OpSGreaterThanEqual = 175,
808 OpULessThanEqual = 178,
809 OpSLessThanEqual = 179,
812 OpFOrdNotEqual = 182,
813 OpFUnordNotEqual = 183,
814 OpFOrdLessThan = 184,
815 OpFUnordLessThan = 185,
816 OpFOrdGreaterThan = 186,
817 OpFUnordGreaterThan = 187,
818 OpFOrdLessThanEqual = 188,
819 OpFUnordLessThanEqual = 189,
820 OpFOrdGreaterThanEqual = 190,
821 OpFUnordGreaterThanEqual = 191,
822 OpShiftRightLogical = 194,
823 OpShiftRightArithmetic = 195,
824 OpShiftLeftLogical = 196,
829 OpBitFieldInsert = 201,
830 OpBitFieldSExtract = 202,
831 OpBitFieldUExtract = 203,
842 OpFwidthCoarse = 215,
844 OpEndPrimitive = 219,
845 OpEmitStreamVertex = 220,
846 OpEndStreamPrimitive = 221,
847 OpControlBarrier = 224,
848 OpMemoryBarrier = 225,
851 OpAtomicExchange = 229,
852 OpAtomicCompareExchange = 230,
853 OpAtomicCompareExchangeWeak = 231,
854 OpAtomicIIncrement = 232,
855 OpAtomicIDecrement = 233,
867 OpSelectionMerge = 247,
870 OpBranchConditional = 250,
876 OpLifetimeStart = 256,
877 OpLifetimeStop = 257,
878 OpGroupAsyncCopy = 259,
879 OpGroupWaitEvents = 260,
882 OpGroupBroadcast = 263,
893 OpReservedReadPipe = 276,
894 OpReservedWritePipe = 277,
895 OpReserveReadPipePackets = 278,
896 OpReserveWritePipePackets = 279,
897 OpCommitReadPipe = 280,
898 OpCommitWritePipe = 281,
899 OpIsValidReserveId = 282,
900 OpGetNumPipePackets = 283,
901 OpGetMaxPipePackets = 284,
902 OpGroupReserveReadPipePackets = 285,
903 OpGroupReserveWritePipePackets = 286,
904 OpGroupCommitReadPipe = 287,
905 OpGroupCommitWritePipe = 288,
906 OpEnqueueMarker = 291,
907 OpEnqueueKernel = 292,
908 OpGetKernelNDrangeSubGroupCount = 293,
909 OpGetKernelNDrangeMaxSubGroupSize = 294,
910 OpGetKernelWorkGroupSize = 295,
911 OpGetKernelPreferredWorkGroupSizeMultiple = 296,
913 OpReleaseEvent = 298,
914 OpCreateUserEvent = 299,
915 OpIsValidEvent = 300,
916 OpSetUserEventStatus = 301,
917 OpCaptureEventProfilingInfo = 302,
918 OpGetDefaultQueue = 303,
919 OpBuildNDRange = 304,
920 OpImageSparseSampleImplicitLod = 305,
921 OpImageSparseSampleExplicitLod = 306,
922 OpImageSparseSampleDrefImplicitLod = 307,
923 OpImageSparseSampleDrefExplicitLod = 308,
924 OpImageSparseSampleProjImplicitLod = 309,
925 OpImageSparseSampleProjExplicitLod = 310,
926 OpImageSparseSampleProjDrefImplicitLod = 311,
927 OpImageSparseSampleProjDrefExplicitLod = 312,
928 OpImageSparseFetch = 313,
929 OpImageSparseGather = 314,
930 OpImageSparseDrefGather = 315,
931 OpImageSparseTexelsResident = 316,
933 OpAtomicFlagTestAndSet = 318,
934 OpAtomicFlagClear = 319,
935 OpImageSparseRead = 320,
937 OpTypePipeStorage = 322,
938 OpConstantPipeStorage = 323,
939 OpCreatePipeFromPipeStorage = 324,
940 OpGetKernelLocalSizeForSubgroupCount = 325,
941 OpGetKernelMaxNumSubgroups = 326,
942 OpTypeNamedBarrier = 327,
943 OpNamedBarrierInitialize = 328,
944 OpMemoryNamedBarrier = 329,
945 OpModuleProcessed = 330,
946 OpExecutionModeId = 331,
948 OpSubgroupBallotKHR = 4421,
949 OpSubgroupFirstInvocationKHR = 4422,
950 OpSubgroupAllKHR = 4428,
951 OpSubgroupAnyKHR = 4429,
952 OpSubgroupAllEqualKHR = 4430,
953 OpSubgroupReadInvocationKHR = 4432,
954 OpGroupIAddNonUniformAMD = 5000,
955 OpGroupFAddNonUniformAMD = 5001,
956 OpGroupFMinNonUniformAMD = 5002,
957 OpGroupUMinNonUniformAMD = 5003,
958 OpGroupSMinNonUniformAMD = 5004,
959 OpGroupFMaxNonUniformAMD = 5005,
960 OpGroupUMaxNonUniformAMD = 5006,
961 OpGroupSMaxNonUniformAMD = 5007,
962 OpFragmentMaskFetchAMD = 5011,
963 OpFragmentFetchAMD = 5012,
964 OpSubgroupShuffleINTEL = 5571,
965 OpSubgroupShuffleDownINTEL = 5572,
966 OpSubgroupShuffleUpINTEL = 5573,
967 OpSubgroupShuffleXorINTEL = 5574,
968 OpSubgroupBlockReadINTEL = 5575,
969 OpSubgroupBlockWriteINTEL = 5576,
970 OpSubgroupImageBlockReadINTEL = 5577,
971 OpSubgroupImageBlockWriteINTEL = 5578,