 d8132e164d
			
		
	
	
		d8132e164d
		
	
	
	
	
		
			
			git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30488 e7fa87d3-cd2b-0410-9028-fcbf551c1848
		
			
				
	
	
		
			1305 lines
		
	
	
		
			38 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			1305 lines
		
	
	
		
			38 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
| ** Copyright (c) 2015 The Khronos Group Inc.
 | |
| **
 | |
| ** Permission is hereby granted, free of charge, to any person obtaining a copy
 | |
| ** of this software and/or associated documentation files (the "Materials"),
 | |
| ** to deal in the Materials without restriction, including without limitation
 | |
| ** the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | |
| ** and/or sell copies of the Materials, and to permit persons to whom the
 | |
| ** Materials are furnished to do so, subject to the following conditions:
 | |
| **
 | |
| ** The above copyright notice and this permission notice shall be included in
 | |
| ** all copies or substantial portions of the Materials.
 | |
| **
 | |
| ** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
 | |
| ** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
 | |
| ** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
 | |
| **
 | |
| ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 | |
| ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | |
| ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | |
| ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | |
| ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | |
| ** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
 | |
| ** IN THE MATERIALS.
 | |
| */
 | |
| 
 | |
| /*
 | |
| ** This header is automatically generated by the same tool that creates
 | |
| ** the Binary Section of the SPIR-V specification.
 | |
| */
 | |
| 
 | |
| /*
 | |
| ** Specification revision 30.
 | |
| ** Enumeration tokens for SPIR-V, in three styles: C, C++, generic.
 | |
| ** - C++ will have the tokens in the "spv" name space, with no prefix.
 | |
| ** - C will have tokens with as "Spv" prefix.
 | |
| **
 | |
| ** Some tokens act like mask values, which can be OR'd together,
 | |
| ** while others are mutually exclusive.  The mask-like ones have
 | |
| ** "Mask" in their name, and a parallel enum that has the shift
 | |
| ** amount (1 << x) for each corresponding enumerant.
 | |
| */
 | |
| 
 | |
| #ifndef spirv_H
 | |
| #define spirv_H
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| 
 | |
| namespace spv {
 | |
| 
 | |
| const int MagicNumber = 0x07230203;
 | |
| const int Version = 99;
 | |
| 
 | |
| typedef unsigned int Id;
 | |
| 
 | |
| const unsigned int OpCodeMask = 0xFFFF;
 | |
| const unsigned int WordCountShift = 16;
 | |
| 
 | |
| enum SourceLanguage {
 | |
|     SourceLanguageUnknown = 0,
 | |
|     SourceLanguageESSL = 1,
 | |
|     SourceLanguageGLSL = 2,
 | |
|     SourceLanguageOpenCL = 3,
 | |
| };
 | |
| 
 | |
| enum ExecutionModel {
 | |
|     ExecutionModelVertex = 0,
 | |
|     ExecutionModelTessellationControl = 1,
 | |
|     ExecutionModelTessellationEvaluation = 2,
 | |
|     ExecutionModelGeometry = 3,
 | |
|     ExecutionModelFragment = 4,
 | |
|     ExecutionModelGLCompute = 5,
 | |
|     ExecutionModelKernel = 6,
 | |
| };
 | |
| 
 | |
| enum AddressingModel {
 | |
|     AddressingModelLogical = 0,
 | |
|     AddressingModelPhysical32 = 1,
 | |
|     AddressingModelPhysical64 = 2,
 | |
| };
 | |
| 
 | |
| enum MemoryModel {
 | |
|     MemoryModelSimple = 0,
 | |
|     MemoryModelGLSL450 = 1,
 | |
|     MemoryModelOpenCL12 = 2,
 | |
|     MemoryModelOpenCL20 = 3,
 | |
|     MemoryModelOpenCL21 = 4,
 | |
| };
 | |
| 
 | |
| enum ExecutionMode {
 | |
|     ExecutionModeInvocations = 0,
 | |
|     ExecutionModeSpacingEqual = 1,
 | |
|     ExecutionModeSpacingFractionalEven = 2,
 | |
|     ExecutionModeSpacingFractionalOdd = 3,
 | |
|     ExecutionModeVertexOrderCw = 4,
 | |
|     ExecutionModeVertexOrderCcw = 5,
 | |
|     ExecutionModePixelCenterInteger = 6,
 | |
|     ExecutionModeOriginUpperLeft = 7,
 | |
|     ExecutionModeEarlyFragmentTests = 8,
 | |
|     ExecutionModePointMode = 9,
 | |
|     ExecutionModeXfb = 10,
 | |
|     ExecutionModeDepthReplacing = 11,
 | |
|     ExecutionModeDepthAny = 12,
 | |
|     ExecutionModeDepthGreater = 13,
 | |
|     ExecutionModeDepthLess = 14,
 | |
|     ExecutionModeDepthUnchanged = 15,
 | |
|     ExecutionModeLocalSize = 16,
 | |
|     ExecutionModeLocalSizeHint = 17,
 | |
|     ExecutionModeInputPoints = 18,
 | |
|     ExecutionModeInputLines = 19,
 | |
|     ExecutionModeInputLinesAdjacency = 20,
 | |
|     ExecutionModeInputTriangles = 21,
 | |
|     ExecutionModeInputTrianglesAdjacency = 22,
 | |
|     ExecutionModeInputQuads = 23,
 | |
|     ExecutionModeInputIsolines = 24,
 | |
|     ExecutionModeOutputVertices = 25,
 | |
|     ExecutionModeOutputPoints = 26,
 | |
|     ExecutionModeOutputLineStrip = 27,
 | |
|     ExecutionModeOutputTriangleStrip = 28,
 | |
|     ExecutionModeVecTypeHint = 29,
 | |
|     ExecutionModeContractionOff = 30,
 | |
| };
 | |
| 
 | |
| enum StorageClass {
 | |
|     StorageClassUniformConstant = 0,
 | |
|     StorageClassInput = 1,
 | |
|     StorageClassUniform = 2,
 | |
|     StorageClassOutput = 3,
 | |
|     StorageClassWorkgroupLocal = 4,
 | |
|     StorageClassWorkgroupGlobal = 5,
 | |
|     StorageClassPrivateGlobal = 6,
 | |
|     StorageClassFunction = 7,
 | |
|     StorageClassGeneric = 8,
 | |
|     StorageClassPrivate = 9,
 | |
|     StorageClassAtomicCounter = 10,
 | |
| };
 | |
| 
 | |
| enum Dim {
 | |
|     Dim1D = 0,
 | |
|     Dim2D = 1,
 | |
|     Dim3D = 2,
 | |
|     DimCube = 3,
 | |
|     DimRect = 4,
 | |
|     DimBuffer = 5,
 | |
| };
 | |
| 
 | |
| enum SamplerAddressingMode {
 | |
|     SamplerAddressingModeNone = 0,
 | |
|     SamplerAddressingModeClampToEdge = 1,
 | |
|     SamplerAddressingModeClamp = 2,
 | |
|     SamplerAddressingModeRepeat = 3,
 | |
|     SamplerAddressingModeRepeatMirrored = 4,
 | |
| };
 | |
| 
 | |
| enum SamplerFilterMode {
 | |
|     SamplerFilterModeNearest = 0,
 | |
|     SamplerFilterModeLinear = 1,
 | |
| };
 | |
| 
 | |
| enum FPFastMathModeShift {
 | |
|     FPFastMathModeNotNaNShift = 0,
 | |
|     FPFastMathModeNotInfShift = 1,
 | |
|     FPFastMathModeNSZShift = 2,
 | |
|     FPFastMathModeAllowRecipShift = 3,
 | |
|     FPFastMathModeFastShift = 4,
 | |
| };
 | |
| 
 | |
| enum FPFastMathModeMask {
 | |
|     FPFastMathModeMaskNone = 0,
 | |
|     FPFastMathModeNotNaNMask = 0x00000001,
 | |
|     FPFastMathModeNotInfMask = 0x00000002,
 | |
|     FPFastMathModeNSZMask = 0x00000004,
 | |
|     FPFastMathModeAllowRecipMask = 0x00000008,
 | |
|     FPFastMathModeFastMask = 0x00000010,
 | |
| };
 | |
| 
 | |
| enum FPRoundingMode {
 | |
|     FPRoundingModeRTE = 0,
 | |
|     FPRoundingModeRTZ = 1,
 | |
|     FPRoundingModeRTP = 2,
 | |
|     FPRoundingModeRTN = 3,
 | |
| };
 | |
| 
 | |
| enum LinkageType {
 | |
|     LinkageTypeExport = 0,
 | |
|     LinkageTypeImport = 1,
 | |
| };
 | |
| 
 | |
| enum AccessQualifier {
 | |
|     AccessQualifierReadOnly = 0,
 | |
|     AccessQualifierWriteOnly = 1,
 | |
|     AccessQualifierReadWrite = 2,
 | |
| };
 | |
| 
 | |
| enum FunctionParameterAttribute {
 | |
|     FunctionParameterAttributeZext = 0,
 | |
|     FunctionParameterAttributeSext = 1,
 | |
|     FunctionParameterAttributeByVal = 2,
 | |
|     FunctionParameterAttributeSret = 3,
 | |
|     FunctionParameterAttributeNoAlias = 4,
 | |
|     FunctionParameterAttributeNoCapture = 5,
 | |
|     FunctionParameterAttributeSVM = 6,
 | |
|     FunctionParameterAttributeNoWrite = 7,
 | |
|     FunctionParameterAttributeNoReadWrite = 8,
 | |
| };
 | |
| 
 | |
| enum Decoration {
 | |
|     DecorationPrecisionLow = 0,
 | |
|     DecorationPrecisionMedium = 1,
 | |
|     DecorationPrecisionHigh = 2,
 | |
|     DecorationBlock = 3,
 | |
|     DecorationBufferBlock = 4,
 | |
|     DecorationRowMajor = 5,
 | |
|     DecorationColMajor = 6,
 | |
|     DecorationGLSLShared = 7,
 | |
|     DecorationGLSLStd140 = 8,
 | |
|     DecorationGLSLStd430 = 9,
 | |
|     DecorationGLSLPacked = 10,
 | |
|     DecorationSmooth = 11,
 | |
|     DecorationNoperspective = 12,
 | |
|     DecorationFlat = 13,
 | |
|     DecorationPatch = 14,
 | |
|     DecorationCentroid = 15,
 | |
|     DecorationSample = 16,
 | |
|     DecorationInvariant = 17,
 | |
|     DecorationRestrict = 18,
 | |
|     DecorationAliased = 19,
 | |
|     DecorationVolatile = 20,
 | |
|     DecorationConstant = 21,
 | |
|     DecorationCoherent = 22,
 | |
|     DecorationNonwritable = 23,
 | |
|     DecorationNonreadable = 24,
 | |
|     DecorationUniform = 25,
 | |
|     DecorationNoStaticUse = 26,
 | |
|     DecorationCPacked = 27,
 | |
|     DecorationSaturatedConversion = 28,
 | |
|     DecorationStream = 29,
 | |
|     DecorationLocation = 30,
 | |
|     DecorationComponent = 31,
 | |
|     DecorationIndex = 32,
 | |
|     DecorationBinding = 33,
 | |
|     DecorationDescriptorSet = 34,
 | |
|     DecorationOffset = 35,
 | |
|     DecorationAlignment = 36,
 | |
|     DecorationXfbBuffer = 37,
 | |
|     DecorationStride = 38,
 | |
|     DecorationBuiltIn = 39,
 | |
|     DecorationFuncParamAttr = 40,
 | |
|     DecorationFPRoundingMode = 41,
 | |
|     DecorationFPFastMathMode = 42,
 | |
|     DecorationLinkageAttributes = 43,
 | |
|     DecorationSpecId = 44,
 | |
| };
 | |
| 
 | |
| enum BuiltIn {
 | |
|     BuiltInPosition = 0,
 | |
|     BuiltInPointSize = 1,
 | |
|     BuiltInClipVertex = 2,
 | |
|     BuiltInClipDistance = 3,
 | |
|     BuiltInCullDistance = 4,
 | |
|     BuiltInVertexId = 5,
 | |
|     BuiltInInstanceId = 6,
 | |
|     BuiltInPrimitiveId = 7,
 | |
|     BuiltInInvocationId = 8,
 | |
|     BuiltInLayer = 9,
 | |
|     BuiltInViewportIndex = 10,
 | |
|     BuiltInTessLevelOuter = 11,
 | |
|     BuiltInTessLevelInner = 12,
 | |
|     BuiltInTessCoord = 13,
 | |
|     BuiltInPatchVertices = 14,
 | |
|     BuiltInFragCoord = 15,
 | |
|     BuiltInPointCoord = 16,
 | |
|     BuiltInFrontFacing = 17,
 | |
|     BuiltInSampleId = 18,
 | |
|     BuiltInSamplePosition = 19,
 | |
|     BuiltInSampleMask = 20,
 | |
|     BuiltInFragColor = 21,
 | |
|     BuiltInFragDepth = 22,
 | |
|     BuiltInHelperInvocation = 23,
 | |
|     BuiltInNumWorkgroups = 24,
 | |
|     BuiltInWorkgroupSize = 25,
 | |
|     BuiltInWorkgroupId = 26,
 | |
|     BuiltInLocalInvocationId = 27,
 | |
|     BuiltInGlobalInvocationId = 28,
 | |
|     BuiltInLocalInvocationIndex = 29,
 | |
|     BuiltInWorkDim = 30,
 | |
|     BuiltInGlobalSize = 31,
 | |
|     BuiltInEnqueuedWorkgroupSize = 32,
 | |
|     BuiltInGlobalOffset = 33,
 | |
|     BuiltInGlobalLinearId = 34,
 | |
|     BuiltInWorkgroupLinearId = 35,
 | |
|     BuiltInSubgroupSize = 36,
 | |
|     BuiltInSubgroupMaxSize = 37,
 | |
|     BuiltInNumSubgroups = 38,
 | |
|     BuiltInNumEnqueuedSubgroups = 39,
 | |
|     BuiltInSubgroupId = 40,
 | |
|     BuiltInSubgroupLocalInvocationId = 41,
 | |
| };
 | |
| 
 | |
| enum SelectionControlShift {
 | |
|     SelectionControlFlattenShift = 0,
 | |
|     SelectionControlDontFlattenShift = 1,
 | |
| };
 | |
| 
 | |
| enum SelectionControlMask {
 | |
|     SelectionControlMaskNone = 0,
 | |
|     SelectionControlFlattenMask = 0x00000001,
 | |
|     SelectionControlDontFlattenMask = 0x00000002,
 | |
| };
 | |
| 
 | |
| enum LoopControlShift {
 | |
|     LoopControlUnrollShift = 0,
 | |
|     LoopControlDontUnrollShift = 1,
 | |
| };
 | |
| 
 | |
| enum LoopControlMask {
 | |
|     LoopControlMaskNone = 0,
 | |
|     LoopControlUnrollMask = 0x00000001,
 | |
|     LoopControlDontUnrollMask = 0x00000002,
 | |
| };
 | |
| 
 | |
| enum FunctionControlShift {
 | |
|     FunctionControlInlineShift = 0,
 | |
|     FunctionControlDontInlineShift = 1,
 | |
|     FunctionControlPureShift = 2,
 | |
|     FunctionControlConstShift = 3,
 | |
| };
 | |
| 
 | |
| enum FunctionControlMask {
 | |
|     FunctionControlMaskNone = 0,
 | |
|     FunctionControlInlineMask = 0x00000001,
 | |
|     FunctionControlDontInlineMask = 0x00000002,
 | |
|     FunctionControlPureMask = 0x00000004,
 | |
|     FunctionControlConstMask = 0x00000008,
 | |
| };
 | |
| 
 | |
| enum MemorySemanticsShift {
 | |
|     MemorySemanticsRelaxedShift = 0,
 | |
|     MemorySemanticsSequentiallyConsistentShift = 1,
 | |
|     MemorySemanticsAcquireShift = 2,
 | |
|     MemorySemanticsReleaseShift = 3,
 | |
|     MemorySemanticsUniformMemoryShift = 4,
 | |
|     MemorySemanticsSubgroupMemoryShift = 5,
 | |
|     MemorySemanticsWorkgroupLocalMemoryShift = 6,
 | |
|     MemorySemanticsWorkgroupGlobalMemoryShift = 7,
 | |
|     MemorySemanticsAtomicCounterMemoryShift = 8,
 | |
|     MemorySemanticsImageMemoryShift = 9,
 | |
| };
 | |
| 
 | |
| enum MemorySemanticsMask {
 | |
|     MemorySemanticsMaskNone = 0,
 | |
|     MemorySemanticsRelaxedMask = 0x00000001,
 | |
|     MemorySemanticsSequentiallyConsistentMask = 0x00000002,
 | |
|     MemorySemanticsAcquireMask = 0x00000004,
 | |
|     MemorySemanticsReleaseMask = 0x00000008,
 | |
|     MemorySemanticsUniformMemoryMask = 0x00000010,
 | |
|     MemorySemanticsSubgroupMemoryMask = 0x00000020,
 | |
|     MemorySemanticsWorkgroupLocalMemoryMask = 0x00000040,
 | |
|     MemorySemanticsWorkgroupGlobalMemoryMask = 0x00000080,
 | |
|     MemorySemanticsAtomicCounterMemoryMask = 0x00000100,
 | |
|     MemorySemanticsImageMemoryMask = 0x00000200,
 | |
| };
 | |
| 
 | |
| enum MemoryAccessShift {
 | |
|     MemoryAccessVolatileShift = 0,
 | |
|     MemoryAccessAlignedShift = 1,
 | |
| };
 | |
| 
 | |
| enum MemoryAccessMask {
 | |
|     MemoryAccessMaskNone = 0,
 | |
|     MemoryAccessVolatileMask = 0x00000001,
 | |
|     MemoryAccessAlignedMask = 0x00000002,
 | |
| };
 | |
| 
 | |
| enum ExecutionScope {
 | |
|     ExecutionScopeCrossDevice = 0,
 | |
|     ExecutionScopeDevice = 1,
 | |
|     ExecutionScopeWorkgroup = 2,
 | |
|     ExecutionScopeSubgroup = 3,
 | |
| };
 | |
| 
 | |
| enum GroupOperation {
 | |
|     GroupOperationReduce = 0,
 | |
|     GroupOperationInclusiveScan = 1,
 | |
|     GroupOperationExclusiveScan = 2,
 | |
| };
 | |
| 
 | |
| enum KernelEnqueueFlags {
 | |
|     KernelEnqueueFlagsNoWait = 0,
 | |
|     KernelEnqueueFlagsWaitKernel = 1,
 | |
|     KernelEnqueueFlagsWaitWorkGroup = 2,
 | |
| };
 | |
| 
 | |
| enum KernelProfilingInfoShift {
 | |
|     KernelProfilingInfoCmdExecTimeShift = 0,
 | |
| };
 | |
| 
 | |
| enum KernelProfilingInfoMask {
 | |
|     KernelProfilingInfoMaskNone = 0,
 | |
|     KernelProfilingInfoCmdExecTimeMask = 0x00000001,
 | |
| };
 | |
| 
 | |
| enum Op {
 | |
|     OpNop = 0,
 | |
|     OpSource = 1,
 | |
|     OpSourceExtension = 2,
 | |
|     OpExtension = 3,
 | |
|     OpExtInstImport = 4,
 | |
|     OpMemoryModel = 5,
 | |
|     OpEntryPoint = 6,
 | |
|     OpExecutionMode = 7,
 | |
|     OpTypeVoid = 8,
 | |
|     OpTypeBool = 9,
 | |
|     OpTypeInt = 10,
 | |
|     OpTypeFloat = 11,
 | |
|     OpTypeVector = 12,
 | |
|     OpTypeMatrix = 13,
 | |
|     OpTypeSampler = 14,
 | |
|     OpTypeFilter = 15,
 | |
|     OpTypeArray = 16,
 | |
|     OpTypeRuntimeArray = 17,
 | |
|     OpTypeStruct = 18,
 | |
|     OpTypeOpaque = 19,
 | |
|     OpTypePointer = 20,
 | |
|     OpTypeFunction = 21,
 | |
|     OpTypeEvent = 22,
 | |
|     OpTypeDeviceEvent = 23,
 | |
|     OpTypeReserveId = 24,
 | |
|     OpTypeQueue = 25,
 | |
|     OpTypePipe = 26,
 | |
|     OpConstantTrue = 27,
 | |
|     OpConstantFalse = 28,
 | |
|     OpConstant = 29,
 | |
|     OpConstantComposite = 30,
 | |
|     OpConstantSampler = 31,
 | |
|     OpConstantNullPointer = 32,
 | |
|     OpConstantNullObject = 33,
 | |
|     OpSpecConstantTrue = 34,
 | |
|     OpSpecConstantFalse = 35,
 | |
|     OpSpecConstant = 36,
 | |
|     OpSpecConstantComposite = 37,
 | |
|     OpVariable = 38,
 | |
|     OpVariableArray = 39,
 | |
|     OpFunction = 40,
 | |
|     OpFunctionParameter = 41,
 | |
|     OpFunctionEnd = 42,
 | |
|     OpFunctionCall = 43,
 | |
|     OpExtInst = 44,
 | |
|     OpUndef = 45,
 | |
|     OpLoad = 46,
 | |
|     OpStore = 47,
 | |
|     OpPhi = 48,
 | |
|     OpDecorationGroup = 49,
 | |
|     OpDecorate = 50,
 | |
|     OpMemberDecorate = 51,
 | |
|     OpGroupDecorate = 52,
 | |
|     OpGroupMemberDecorate = 53,
 | |
|     OpName = 54,
 | |
|     OpMemberName = 55,
 | |
|     OpString = 56,
 | |
|     OpLine = 57,
 | |
|     OpVectorExtractDynamic = 58,
 | |
|     OpVectorInsertDynamic = 59,
 | |
|     OpVectorShuffle = 60,
 | |
|     OpCompositeConstruct = 61,
 | |
|     OpCompositeExtract = 62,
 | |
|     OpCompositeInsert = 63,
 | |
|     OpCopyObject = 64,
 | |
|     OpCopyMemory = 65,
 | |
|     OpCopyMemorySized = 66,
 | |
|     OpSampler = 67,
 | |
|     OpTextureSample = 68,
 | |
|     OpTextureSampleDref = 69,
 | |
|     OpTextureSampleLod = 70,
 | |
|     OpTextureSampleProj = 71,
 | |
|     OpTextureSampleGrad = 72,
 | |
|     OpTextureSampleOffset = 73,
 | |
|     OpTextureSampleProjLod = 74,
 | |
|     OpTextureSampleProjGrad = 75,
 | |
|     OpTextureSampleLodOffset = 76,
 | |
|     OpTextureSampleProjOffset = 77,
 | |
|     OpTextureSampleGradOffset = 78,
 | |
|     OpTextureSampleProjLodOffset = 79,
 | |
|     OpTextureSampleProjGradOffset = 80,
 | |
|     OpTextureFetchTexelLod = 81,
 | |
|     OpTextureFetchTexelOffset = 82,
 | |
|     OpTextureFetchSample = 83,
 | |
|     OpTextureFetchTexel = 84,
 | |
|     OpTextureGather = 85,
 | |
|     OpTextureGatherOffset = 86,
 | |
|     OpTextureGatherOffsets = 87,
 | |
|     OpTextureQuerySizeLod = 88,
 | |
|     OpTextureQuerySize = 89,
 | |
|     OpTextureQueryLod = 90,
 | |
|     OpTextureQueryLevels = 91,
 | |
|     OpTextureQuerySamples = 92,
 | |
|     OpAccessChain = 93,
 | |
|     OpInBoundsAccessChain = 94,
 | |
|     OpSNegate = 95,
 | |
|     OpFNegate = 96,
 | |
|     OpNot = 97,
 | |
|     OpAny = 98,
 | |
|     OpAll = 99,
 | |
|     OpConvertFToU = 100,
 | |
|     OpConvertFToS = 101,
 | |
|     OpConvertSToF = 102,
 | |
|     OpConvertUToF = 103,
 | |
|     OpUConvert = 104,
 | |
|     OpSConvert = 105,
 | |
|     OpFConvert = 106,
 | |
|     OpConvertPtrToU = 107,
 | |
|     OpConvertUToPtr = 108,
 | |
|     OpPtrCastToGeneric = 109,
 | |
|     OpGenericCastToPtr = 110,
 | |
|     OpBitcast = 111,
 | |
|     OpTranspose = 112,
 | |
|     OpIsNan = 113,
 | |
|     OpIsInf = 114,
 | |
|     OpIsFinite = 115,
 | |
|     OpIsNormal = 116,
 | |
|     OpSignBitSet = 117,
 | |
|     OpLessOrGreater = 118,
 | |
|     OpOrdered = 119,
 | |
|     OpUnordered = 120,
 | |
|     OpArrayLength = 121,
 | |
|     OpIAdd = 122,
 | |
|     OpFAdd = 123,
 | |
|     OpISub = 124,
 | |
|     OpFSub = 125,
 | |
|     OpIMul = 126,
 | |
|     OpFMul = 127,
 | |
|     OpUDiv = 128,
 | |
|     OpSDiv = 129,
 | |
|     OpFDiv = 130,
 | |
|     OpUMod = 131,
 | |
|     OpSRem = 132,
 | |
|     OpSMod = 133,
 | |
|     OpFRem = 134,
 | |
|     OpFMod = 135,
 | |
|     OpVectorTimesScalar = 136,
 | |
|     OpMatrixTimesScalar = 137,
 | |
|     OpVectorTimesMatrix = 138,
 | |
|     OpMatrixTimesVector = 139,
 | |
|     OpMatrixTimesMatrix = 140,
 | |
|     OpOuterProduct = 141,
 | |
|     OpDot = 142,
 | |
|     OpShiftRightLogical = 143,
 | |
|     OpShiftRightArithmetic = 144,
 | |
|     OpShiftLeftLogical = 145,
 | |
|     OpLogicalOr = 146,
 | |
|     OpLogicalXor = 147,
 | |
|     OpLogicalAnd = 148,
 | |
|     OpBitwiseOr = 149,
 | |
|     OpBitwiseXor = 150,
 | |
|     OpBitwiseAnd = 151,
 | |
|     OpSelect = 152,
 | |
|     OpIEqual = 153,
 | |
|     OpFOrdEqual = 154,
 | |
|     OpFUnordEqual = 155,
 | |
|     OpINotEqual = 156,
 | |
|     OpFOrdNotEqual = 157,
 | |
|     OpFUnordNotEqual = 158,
 | |
|     OpULessThan = 159,
 | |
|     OpSLessThan = 160,
 | |
|     OpFOrdLessThan = 161,
 | |
|     OpFUnordLessThan = 162,
 | |
|     OpUGreaterThan = 163,
 | |
|     OpSGreaterThan = 164,
 | |
|     OpFOrdGreaterThan = 165,
 | |
|     OpFUnordGreaterThan = 166,
 | |
|     OpULessThanEqual = 167,
 | |
|     OpSLessThanEqual = 168,
 | |
|     OpFOrdLessThanEqual = 169,
 | |
|     OpFUnordLessThanEqual = 170,
 | |
|     OpUGreaterThanEqual = 171,
 | |
|     OpSGreaterThanEqual = 172,
 | |
|     OpFOrdGreaterThanEqual = 173,
 | |
|     OpFUnordGreaterThanEqual = 174,
 | |
|     OpDPdx = 175,
 | |
|     OpDPdy = 176,
 | |
|     OpFwidth = 177,
 | |
|     OpDPdxFine = 178,
 | |
|     OpDPdyFine = 179,
 | |
|     OpFwidthFine = 180,
 | |
|     OpDPdxCoarse = 181,
 | |
|     OpDPdyCoarse = 182,
 | |
|     OpFwidthCoarse = 183,
 | |
|     OpEmitVertex = 184,
 | |
|     OpEndPrimitive = 185,
 | |
|     OpEmitStreamVertex = 186,
 | |
|     OpEndStreamPrimitive = 187,
 | |
|     OpControlBarrier = 188,
 | |
|     OpMemoryBarrier = 189,
 | |
|     OpImagePointer = 190,
 | |
|     OpAtomicInit = 191,
 | |
|     OpAtomicLoad = 192,
 | |
|     OpAtomicStore = 193,
 | |
|     OpAtomicExchange = 194,
 | |
|     OpAtomicCompareExchange = 195,
 | |
|     OpAtomicCompareExchangeWeak = 196,
 | |
|     OpAtomicIIncrement = 197,
 | |
|     OpAtomicIDecrement = 198,
 | |
|     OpAtomicIAdd = 199,
 | |
|     OpAtomicISub = 200,
 | |
|     OpAtomicUMin = 201,
 | |
|     OpAtomicUMax = 202,
 | |
|     OpAtomicAnd = 203,
 | |
|     OpAtomicOr = 204,
 | |
|     OpAtomicXor = 205,
 | |
|     OpLoopMerge = 206,
 | |
|     OpSelectionMerge = 207,
 | |
|     OpLabel = 208,
 | |
|     OpBranch = 209,
 | |
|     OpBranchConditional = 210,
 | |
|     OpSwitch = 211,
 | |
|     OpKill = 212,
 | |
|     OpReturn = 213,
 | |
|     OpReturnValue = 214,
 | |
|     OpUnreachable = 215,
 | |
|     OpLifetimeStart = 216,
 | |
|     OpLifetimeStop = 217,
 | |
|     OpCompileFlag = 218,
 | |
|     OpAsyncGroupCopy = 219,
 | |
|     OpWaitGroupEvents = 220,
 | |
|     OpGroupAll = 221,
 | |
|     OpGroupAny = 222,
 | |
|     OpGroupBroadcast = 223,
 | |
|     OpGroupIAdd = 224,
 | |
|     OpGroupFAdd = 225,
 | |
|     OpGroupFMin = 226,
 | |
|     OpGroupUMin = 227,
 | |
|     OpGroupSMin = 228,
 | |
|     OpGroupFMax = 229,
 | |
|     OpGroupUMax = 230,
 | |
|     OpGroupSMax = 231,
 | |
|     OpGenericCastToPtrExplicit = 232,
 | |
|     OpGenericPtrMemSemantics = 233,
 | |
|     OpReadPipe = 234,
 | |
|     OpWritePipe = 235,
 | |
|     OpReservedReadPipe = 236,
 | |
|     OpReservedWritePipe = 237,
 | |
|     OpReserveReadPipePackets = 238,
 | |
|     OpReserveWritePipePackets = 239,
 | |
|     OpCommitReadPipe = 240,
 | |
|     OpCommitWritePipe = 241,
 | |
|     OpIsValidReserveId = 242,
 | |
|     OpGetNumPipePackets = 243,
 | |
|     OpGetMaxPipePackets = 244,
 | |
|     OpGroupReserveReadPipePackets = 245,
 | |
|     OpGroupReserveWritePipePackets = 246,
 | |
|     OpGroupCommitReadPipe = 247,
 | |
|     OpGroupCommitWritePipe = 248,
 | |
|     OpEnqueueMarker = 249,
 | |
|     OpEnqueueKernel = 250,
 | |
|     OpGetKernelNDrangeSubGroupCount = 251,
 | |
|     OpGetKernelNDrangeMaxSubGroupSize = 252,
 | |
|     OpGetKernelWorkGroupSize = 253,
 | |
|     OpGetKernelPreferredWorkGroupSizeMultiple = 254,
 | |
|     OpRetainEvent = 255,
 | |
|     OpReleaseEvent = 256,
 | |
|     OpCreateUserEvent = 257,
 | |
|     OpIsValidEvent = 258,
 | |
|     OpSetUserEventStatus = 259,
 | |
|     OpCaptureEventProfilingInfo = 260,
 | |
|     OpGetDefaultQueue = 261,
 | |
|     OpBuildNDRange = 262,
 | |
|     OpSatConvertSToU = 263,
 | |
|     OpSatConvertUToS = 264,
 | |
|     OpAtomicIMin = 265,
 | |
|     OpAtomicIMax = 266,
 | |
| };
 | |
| 
 | |
| };  // end namespace spv
 | |
| 
 | |
| #endif  // #ifdef __cplusplus
 | |
| 
 | |
| 
 | |
| #ifndef __cplusplus
 | |
| 
 | |
| const int SpvMagicNumber = 0x07230203;
 | |
| const int SpvVersion = 99;
 | |
| 
 | |
| typedef unsigned int SpvId;
 | |
| 
 | |
| const unsigned int SpvOpCodeMask = 0xFFFF;
 | |
| const unsigned int SpvWordCountShift = 16;
 | |
| 
 | |
| typedef enum SpvSourceLanguage_ {
 | |
|     SpvSourceLanguageUnknown = 0,
 | |
|     SpvSourceLanguageESSL = 1,
 | |
|     SpvSourceLanguageGLSL = 2,
 | |
|     SpvSourceLanguageOpenCL = 3,
 | |
| } SpvSourceLanguage;
 | |
| 
 | |
| typedef enum SpvExecutionModel_ {
 | |
|     SpvExecutionModelVertex = 0,
 | |
|     SpvExecutionModelTessellationControl = 1,
 | |
|     SpvExecutionModelTessellationEvaluation = 2,
 | |
|     SpvExecutionModelGeometry = 3,
 | |
|     SpvExecutionModelFragment = 4,
 | |
|     SpvExecutionModelGLCompute = 5,
 | |
|     SpvExecutionModelKernel = 6,
 | |
| } SpvExecutionModel;
 | |
| 
 | |
| typedef enum SpvAddressingModel_ {
 | |
|     SpvAddressingModelLogical = 0,
 | |
|     SpvAddressingModelPhysical32 = 1,
 | |
|     SpvAddressingModelPhysical64 = 2,
 | |
| } SpvAddressingModel;
 | |
| 
 | |
| typedef enum SpvMemoryModel_ {
 | |
|     SpvMemoryModelSimple = 0,
 | |
|     SpvMemoryModelGLSL450 = 1,
 | |
|     SpvMemoryModelOpenCL12 = 2,
 | |
|     SpvMemoryModelOpenCL20 = 3,
 | |
|     SpvMemoryModelOpenCL21 = 4,
 | |
| } SpvMemoryModel;
 | |
| 
 | |
| typedef enum SpvExecutionMode_ {
 | |
|     SpvExecutionModeInvocations = 0,
 | |
|     SpvExecutionModeSpacingEqual = 1,
 | |
|     SpvExecutionModeSpacingFractionalEven = 2,
 | |
|     SpvExecutionModeSpacingFractionalOdd = 3,
 | |
|     SpvExecutionModeVertexOrderCw = 4,
 | |
|     SpvExecutionModeVertexOrderCcw = 5,
 | |
|     SpvExecutionModePixelCenterInteger = 6,
 | |
|     SpvExecutionModeOriginUpperLeft = 7,
 | |
|     SpvExecutionModeEarlyFragmentTests = 8,
 | |
|     SpvExecutionModePointMode = 9,
 | |
|     SpvExecutionModeXfb = 10,
 | |
|     SpvExecutionModeDepthReplacing = 11,
 | |
|     SpvExecutionModeDepthAny = 12,
 | |
|     SpvExecutionModeDepthGreater = 13,
 | |
|     SpvExecutionModeDepthLess = 14,
 | |
|     SpvExecutionModeDepthUnchanged = 15,
 | |
|     SpvExecutionModeLocalSize = 16,
 | |
|     SpvExecutionModeLocalSizeHint = 17,
 | |
|     SpvExecutionModeInputPoints = 18,
 | |
|     SpvExecutionModeInputLines = 19,
 | |
|     SpvExecutionModeInputLinesAdjacency = 20,
 | |
|     SpvExecutionModeInputTriangles = 21,
 | |
|     SpvExecutionModeInputTrianglesAdjacency = 22,
 | |
|     SpvExecutionModeInputQuads = 23,
 | |
|     SpvExecutionModeInputIsolines = 24,
 | |
|     SpvExecutionModeOutputVertices = 25,
 | |
|     SpvExecutionModeOutputPoints = 26,
 | |
|     SpvExecutionModeOutputLineStrip = 27,
 | |
|     SpvExecutionModeOutputTriangleStrip = 28,
 | |
|     SpvExecutionModeVecTypeHint = 29,
 | |
|     SpvExecutionModeContractionOff = 30,
 | |
| } SpvExecutionMode;
 | |
| 
 | |
| typedef enum SpvStorageClass_ {
 | |
|     SpvStorageClassUniformConstant = 0,
 | |
|     SpvStorageClassInput = 1,
 | |
|     SpvStorageClassUniform = 2,
 | |
|     SpvStorageClassOutput = 3,
 | |
|     SpvStorageClassWorkgroupLocal = 4,
 | |
|     SpvStorageClassWorkgroupGlobal = 5,
 | |
|     SpvStorageClassPrivateGlobal = 6,
 | |
|     SpvStorageClassFunction = 7,
 | |
|     SpvStorageClassGeneric = 8,
 | |
|     SpvStorageClassPrivate = 9,
 | |
|     SpvStorageClassAtomicCounter = 10,
 | |
| } SpvStorageClass;
 | |
| 
 | |
| typedef enum SpvDim_ {
 | |
|     SpvDim1D = 0,
 | |
|     SpvDim2D = 1,
 | |
|     SpvDim3D = 2,
 | |
|     SpvDimCube = 3,
 | |
|     SpvDimRect = 4,
 | |
|     SpvDimBuffer = 5,
 | |
| } SpvDim;
 | |
| 
 | |
| typedef enum SpvSamplerAddressingMode_ {
 | |
|     SpvSamplerAddressingModeNone = 0,
 | |
|     SpvSamplerAddressingModeClampToEdge = 1,
 | |
|     SpvSamplerAddressingModeClamp = 2,
 | |
|     SpvSamplerAddressingModeRepeat = 3,
 | |
|     SpvSamplerAddressingModeRepeatMirrored = 4,
 | |
| } SpvSamplerAddressingMode;
 | |
| 
 | |
| typedef enum SpvSamplerFilterMode_ {
 | |
|     SpvSamplerFilterModeNearest = 0,
 | |
|     SpvSamplerFilterModeLinear = 1,
 | |
| } SpvSamplerFilterMode;
 | |
| 
 | |
| typedef enum SpvFPFastMathModeShift_ {
 | |
|     SpvFPFastMathModeNotNaNShift = 0,
 | |
|     SpvFPFastMathModeNotInfShift = 1,
 | |
|     SpvFPFastMathModeNSZShift = 2,
 | |
|     SpvFPFastMathModeAllowRecipShift = 3,
 | |
|     SpvFPFastMathModeFastShift = 4,
 | |
| } SpvFPFastMathModeShift;
 | |
| 
 | |
| typedef enum SpvFPFastMathModeMask_ {
 | |
|     SpvFPFastMathModeMaskNone = 0,
 | |
|     SpvFPFastMathModeNotNaNMask = 0x00000001,
 | |
|     SpvFPFastMathModeNotInfMask = 0x00000002,
 | |
|     SpvFPFastMathModeNSZMask = 0x00000004,
 | |
|     SpvFPFastMathModeAllowRecipMask = 0x00000008,
 | |
|     SpvFPFastMathModeFastMask = 0x00000010,
 | |
| } SpvFPFastMathModeMask;
 | |
| 
 | |
| typedef enum SpvFPRoundingMode_ {
 | |
|     SpvFPRoundingModeRTE = 0,
 | |
|     SpvFPRoundingModeRTZ = 1,
 | |
|     SpvFPRoundingModeRTP = 2,
 | |
|     SpvFPRoundingModeRTN = 3,
 | |
| } SpvFPRoundingMode;
 | |
| 
 | |
| typedef enum SpvLinkageType_ {
 | |
|     SpvLinkageTypeExport = 0,
 | |
|     SpvLinkageTypeImport = 1,
 | |
| } SpvLinkageType;
 | |
| 
 | |
| typedef enum SpvAccessQualifier_ {
 | |
|     SpvAccessQualifierReadOnly = 0,
 | |
|     SpvAccessQualifierWriteOnly = 1,
 | |
|     SpvAccessQualifierReadWrite = 2,
 | |
| } SpvAccessQualifier;
 | |
| 
 | |
| typedef enum SpvFunctionParameterAttribute_ {
 | |
|     SpvFunctionParameterAttributeZext = 0,
 | |
|     SpvFunctionParameterAttributeSext = 1,
 | |
|     SpvFunctionParameterAttributeByVal = 2,
 | |
|     SpvFunctionParameterAttributeSret = 3,
 | |
|     SpvFunctionParameterAttributeNoAlias = 4,
 | |
|     SpvFunctionParameterAttributeNoCapture = 5,
 | |
|     SpvFunctionParameterAttributeSVM = 6,
 | |
|     SpvFunctionParameterAttributeNoWrite = 7,
 | |
|     SpvFunctionParameterAttributeNoReadWrite = 8,
 | |
| } SpvFunctionParameterAttribute;
 | |
| 
 | |
| typedef enum SpvDecoration_ {
 | |
|     SpvDecorationPrecisionLow = 0,
 | |
|     SpvDecorationPrecisionMedium = 1,
 | |
|     SpvDecorationPrecisionHigh = 2,
 | |
|     SpvDecorationBlock = 3,
 | |
|     SpvDecorationBufferBlock = 4,
 | |
|     SpvDecorationRowMajor = 5,
 | |
|     SpvDecorationColMajor = 6,
 | |
|     SpvDecorationGLSLShared = 7,
 | |
|     SpvDecorationGLSLStd140 = 8,
 | |
|     SpvDecorationGLSLStd430 = 9,
 | |
|     SpvDecorationGLSLPacked = 10,
 | |
|     SpvDecorationSmooth = 11,
 | |
|     SpvDecorationNoperspective = 12,
 | |
|     SpvDecorationFlat = 13,
 | |
|     SpvDecorationPatch = 14,
 | |
|     SpvDecorationCentroid = 15,
 | |
|     SpvDecorationSample = 16,
 | |
|     SpvDecorationInvariant = 17,
 | |
|     SpvDecorationRestrict = 18,
 | |
|     SpvDecorationAliased = 19,
 | |
|     SpvDecorationVolatile = 20,
 | |
|     SpvDecorationConstant = 21,
 | |
|     SpvDecorationCoherent = 22,
 | |
|     SpvDecorationNonwritable = 23,
 | |
|     SpvDecorationNonreadable = 24,
 | |
|     SpvDecorationUniform = 25,
 | |
|     SpvDecorationNoStaticUse = 26,
 | |
|     SpvDecorationCPacked = 27,
 | |
|     SpvDecorationSaturatedConversion = 28,
 | |
|     SpvDecorationStream = 29,
 | |
|     SpvDecorationLocation = 30,
 | |
|     SpvDecorationComponent = 31,
 | |
|     SpvDecorationIndex = 32,
 | |
|     SpvDecorationBinding = 33,
 | |
|     SpvDecorationDescriptorSet = 34,
 | |
|     SpvDecorationOffset = 35,
 | |
|     SpvDecorationAlignment = 36,
 | |
|     SpvDecorationXfbBuffer = 37,
 | |
|     SpvDecorationStride = 38,
 | |
|     SpvDecorationBuiltIn = 39,
 | |
|     SpvDecorationFuncParamAttr = 40,
 | |
|     SpvDecorationFPRoundingMode = 41,
 | |
|     SpvDecorationFPFastMathMode = 42,
 | |
|     SpvDecorationLinkageAttributes = 43,
 | |
|     SpvDecorationSpecId = 44,
 | |
| } SpvDecoration;
 | |
| 
 | |
| typedef enum SpvBuiltIn_ {
 | |
|     SpvBuiltInPosition = 0,
 | |
|     SpvBuiltInPointSize = 1,
 | |
|     SpvBuiltInClipVertex = 2,
 | |
|     SpvBuiltInClipDistance = 3,
 | |
|     SpvBuiltInCullDistance = 4,
 | |
|     SpvBuiltInVertexId = 5,
 | |
|     SpvBuiltInInstanceId = 6,
 | |
|     SpvBuiltInPrimitiveId = 7,
 | |
|     SpvBuiltInInvocationId = 8,
 | |
|     SpvBuiltInLayer = 9,
 | |
|     SpvBuiltInViewportIndex = 10,
 | |
|     SpvBuiltInTessLevelOuter = 11,
 | |
|     SpvBuiltInTessLevelInner = 12,
 | |
|     SpvBuiltInTessCoord = 13,
 | |
|     SpvBuiltInPatchVertices = 14,
 | |
|     SpvBuiltInFragCoord = 15,
 | |
|     SpvBuiltInPointCoord = 16,
 | |
|     SpvBuiltInFrontFacing = 17,
 | |
|     SpvBuiltInSampleId = 18,
 | |
|     SpvBuiltInSamplePosition = 19,
 | |
|     SpvBuiltInSampleMask = 20,
 | |
|     SpvBuiltInFragColor = 21,
 | |
|     SpvBuiltInFragDepth = 22,
 | |
|     SpvBuiltInHelperInvocation = 23,
 | |
|     SpvBuiltInNumWorkgroups = 24,
 | |
|     SpvBuiltInWorkgroupSize = 25,
 | |
|     SpvBuiltInWorkgroupId = 26,
 | |
|     SpvBuiltInLocalInvocationId = 27,
 | |
|     SpvBuiltInGlobalInvocationId = 28,
 | |
|     SpvBuiltInLocalInvocationIndex = 29,
 | |
|     SpvBuiltInWorkDim = 30,
 | |
|     SpvBuiltInGlobalSize = 31,
 | |
|     SpvBuiltInEnqueuedWorkgroupSize = 32,
 | |
|     SpvBuiltInGlobalOffset = 33,
 | |
|     SpvBuiltInGlobalLinearId = 34,
 | |
|     SpvBuiltInWorkgroupLinearId = 35,
 | |
|     SpvBuiltInSubgroupSize = 36,
 | |
|     SpvBuiltInSubgroupMaxSize = 37,
 | |
|     SpvBuiltInNumSubgroups = 38,
 | |
|     SpvBuiltInNumEnqueuedSubgroups = 39,
 | |
|     SpvBuiltInSubgroupId = 40,
 | |
|     SpvBuiltInSubgroupLocalInvocationId = 41,
 | |
| } SpvBuiltIn;
 | |
| 
 | |
| typedef enum SpvSelectionControlShift_ {
 | |
|     SpvSelectionControlFlattenShift = 0,
 | |
|     SpvSelectionControlDontFlattenShift = 1,
 | |
| } SpvSelectionControlShift;
 | |
| 
 | |
| typedef enum SpvSelectionControlMask_ {
 | |
|     SpvSelectionControlMaskNone = 0,
 | |
|     SpvSelectionControlFlattenMask = 0x00000001,
 | |
|     SpvSelectionControlDontFlattenMask = 0x00000002,
 | |
| } SpvSelectionControlMask;
 | |
| 
 | |
| typedef enum SpvLoopControlShift_ {
 | |
|     SpvLoopControlUnrollShift = 0,
 | |
|     SpvLoopControlDontUnrollShift = 1,
 | |
| } SpvLoopControlShift;
 | |
| 
 | |
| typedef enum SpvLoopControlMask_ {
 | |
|     SpvLoopControlMaskNone = 0,
 | |
|     SpvLoopControlUnrollMask = 0x00000001,
 | |
|     SpvLoopControlDontUnrollMask = 0x00000002,
 | |
| } SpvLoopControlMask;
 | |
| 
 | |
| typedef enum SpvFunctionControlShift_ {
 | |
|     SpvFunctionControlInlineShift = 0,
 | |
|     SpvFunctionControlDontInlineShift = 1,
 | |
|     SpvFunctionControlPureShift = 2,
 | |
|     SpvFunctionControlConstShift = 3,
 | |
| } SpvFunctionControlShift;
 | |
| 
 | |
| typedef enum SpvFunctionControlMask_ {
 | |
|     SpvFunctionControlMaskNone = 0,
 | |
|     SpvFunctionControlInlineMask = 0x00000001,
 | |
|     SpvFunctionControlDontInlineMask = 0x00000002,
 | |
|     SpvFunctionControlPureMask = 0x00000004,
 | |
|     SpvFunctionControlConstMask = 0x00000008,
 | |
| } SpvFunctionControlMask;
 | |
| 
 | |
| typedef enum SpvMemorySemanticsShift_ {
 | |
|     SpvMemorySemanticsRelaxedShift = 0,
 | |
|     SpvMemorySemanticsSequentiallyConsistentShift = 1,
 | |
|     SpvMemorySemanticsAcquireShift = 2,
 | |
|     SpvMemorySemanticsReleaseShift = 3,
 | |
|     SpvMemorySemanticsUniformMemoryShift = 4,
 | |
|     SpvMemorySemanticsSubgroupMemoryShift = 5,
 | |
|     SpvMemorySemanticsWorkgroupLocalMemoryShift = 6,
 | |
|     SpvMemorySemanticsWorkgroupGlobalMemoryShift = 7,
 | |
|     SpvMemorySemanticsAtomicCounterMemoryShift = 8,
 | |
|     SpvMemorySemanticsImageMemoryShift = 9,
 | |
| } SpvMemorySemanticsShift;
 | |
| 
 | |
| typedef enum SpvMemorySemanticsMask_ {
 | |
|     SpvMemorySemanticsMaskNone = 0,
 | |
|     SpvMemorySemanticsRelaxedMask = 0x00000001,
 | |
|     SpvMemorySemanticsSequentiallyConsistentMask = 0x00000002,
 | |
|     SpvMemorySemanticsAcquireMask = 0x00000004,
 | |
|     SpvMemorySemanticsReleaseMask = 0x00000008,
 | |
|     SpvMemorySemanticsUniformMemoryMask = 0x00000010,
 | |
|     SpvMemorySemanticsSubgroupMemoryMask = 0x00000020,
 | |
|     SpvMemorySemanticsWorkgroupLocalMemoryMask = 0x00000040,
 | |
|     SpvMemorySemanticsWorkgroupGlobalMemoryMask = 0x00000080,
 | |
|     SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000100,
 | |
|     SpvMemorySemanticsImageMemoryMask = 0x00000200,
 | |
| } SpvMemorySemanticsMask;
 | |
| 
 | |
| typedef enum SpvMemoryAccessShift_ {
 | |
|     SpvMemoryAccessVolatileShift = 0,
 | |
|     SpvMemoryAccessAlignedShift = 1,
 | |
| } SpvMemoryAccessShift;
 | |
| 
 | |
| typedef enum SpvMemoryAccessMask_ {
 | |
|     SpvMemoryAccessMaskNone = 0,
 | |
|     SpvMemoryAccessVolatileMask = 0x00000001,
 | |
|     SpvMemoryAccessAlignedMask = 0x00000002,
 | |
| } SpvMemoryAccessMask;
 | |
| 
 | |
| typedef enum SpvExecutionScope_ {
 | |
|     SpvExecutionScopeCrossDevice = 0,
 | |
|     SpvExecutionScopeDevice = 1,
 | |
|     SpvExecutionScopeWorkgroup = 2,
 | |
|     SpvExecutionScopeSubgroup = 3,
 | |
| } SpvExecutionScope;
 | |
| 
 | |
| typedef enum SpvGroupOperation_ {
 | |
|     SpvGroupOperationReduce = 0,
 | |
|     SpvGroupOperationInclusiveScan = 1,
 | |
|     SpvGroupOperationExclusiveScan = 2,
 | |
| } SpvGroupOperation;
 | |
| 
 | |
| typedef enum SpvKernelEnqueueFlags_ {
 | |
|     SpvKernelEnqueueFlagsNoWait = 0,
 | |
|     SpvKernelEnqueueFlagsWaitKernel = 1,
 | |
|     SpvKernelEnqueueFlagsWaitWorkGroup = 2,
 | |
| } SpvKernelEnqueueFlags;
 | |
| 
 | |
| typedef enum SpvKernelProfilingInfoShift_ {
 | |
|     SpvKernelProfilingInfoCmdExecTimeShift = 0,
 | |
| } SpvKernelProfilingInfoShift;
 | |
| 
 | |
| typedef enum SpvKernelProfilingInfoMask_ {
 | |
|     SpvKernelProfilingInfoMaskNone = 0,
 | |
|     SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,
 | |
| } SpvKernelProfilingInfoMask;
 | |
| 
 | |
| typedef enum SpvOp_ {
 | |
|     SpvOpNop = 0,
 | |
|     SpvOpSource = 1,
 | |
|     SpvOpSourceExtension = 2,
 | |
|     SpvOpExtension = 3,
 | |
|     SpvOpExtInstImport = 4,
 | |
|     SpvOpMemoryModel = 5,
 | |
|     SpvOpEntryPoint = 6,
 | |
|     SpvOpExecutionMode = 7,
 | |
|     SpvOpTypeVoid = 8,
 | |
|     SpvOpTypeBool = 9,
 | |
|     SpvOpTypeInt = 10,
 | |
|     SpvOpTypeFloat = 11,
 | |
|     SpvOpTypeVector = 12,
 | |
|     SpvOpTypeMatrix = 13,
 | |
|     SpvOpTypeSampler = 14,
 | |
|     SpvOpTypeFilter = 15,
 | |
|     SpvOpTypeArray = 16,
 | |
|     SpvOpTypeRuntimeArray = 17,
 | |
|     SpvOpTypeStruct = 18,
 | |
|     SpvOpTypeOpaque = 19,
 | |
|     SpvOpTypePointer = 20,
 | |
|     SpvOpTypeFunction = 21,
 | |
|     SpvOpTypeEvent = 22,
 | |
|     SpvOpTypeDeviceEvent = 23,
 | |
|     SpvOpTypeReserveId = 24,
 | |
|     SpvOpTypeQueue = 25,
 | |
|     SpvOpTypePipe = 26,
 | |
|     SpvOpConstantTrue = 27,
 | |
|     SpvOpConstantFalse = 28,
 | |
|     SpvOpConstant = 29,
 | |
|     SpvOpConstantComposite = 30,
 | |
|     SpvOpConstantSampler = 31,
 | |
|     SpvOpConstantNullPointer = 32,
 | |
|     SpvOpConstantNullObject = 33,
 | |
|     SpvOpSpecConstantTrue = 34,
 | |
|     SpvOpSpecConstantFalse = 35,
 | |
|     SpvOpSpecConstant = 36,
 | |
|     SpvOpSpecConstantComposite = 37,
 | |
|     SpvOpVariable = 38,
 | |
|     SpvOpVariableArray = 39,
 | |
|     SpvOpFunction = 40,
 | |
|     SpvOpFunctionParameter = 41,
 | |
|     SpvOpFunctionEnd = 42,
 | |
|     SpvOpFunctionCall = 43,
 | |
|     SpvOpExtInst = 44,
 | |
|     SpvOpUndef = 45,
 | |
|     SpvOpLoad = 46,
 | |
|     SpvOpStore = 47,
 | |
|     SpvOpPhi = 48,
 | |
|     SpvOpDecorationGroup = 49,
 | |
|     SpvOpDecorate = 50,
 | |
|     SpvOpMemberDecorate = 51,
 | |
|     SpvOpGroupDecorate = 52,
 | |
|     SpvOpGroupMemberDecorate = 53,
 | |
|     SpvOpName = 54,
 | |
|     SpvOpMemberName = 55,
 | |
|     SpvOpString = 56,
 | |
|     SpvOpLine = 57,
 | |
|     SpvOpVectorExtractDynamic = 58,
 | |
|     SpvOpVectorInsertDynamic = 59,
 | |
|     SpvOpVectorShuffle = 60,
 | |
|     SpvOpCompositeConstruct = 61,
 | |
|     SpvOpCompositeExtract = 62,
 | |
|     SpvOpCompositeInsert = 63,
 | |
|     SpvOpCopyObject = 64,
 | |
|     SpvOpCopyMemory = 65,
 | |
|     SpvOpCopyMemorySized = 66,
 | |
|     SpvOpSampler = 67,
 | |
|     SpvOpTextureSample = 68,
 | |
|     SpvOpTextureSampleDref = 69,
 | |
|     SpvOpTextureSampleLod = 70,
 | |
|     SpvOpTextureSampleProj = 71,
 | |
|     SpvOpTextureSampleGrad = 72,
 | |
|     SpvOpTextureSampleOffset = 73,
 | |
|     SpvOpTextureSampleProjLod = 74,
 | |
|     SpvOpTextureSampleProjGrad = 75,
 | |
|     SpvOpTextureSampleLodOffset = 76,
 | |
|     SpvOpTextureSampleProjOffset = 77,
 | |
|     SpvOpTextureSampleGradOffset = 78,
 | |
|     SpvOpTextureSampleProjLodOffset = 79,
 | |
|     SpvOpTextureSampleProjGradOffset = 80,
 | |
|     SpvOpTextureFetchTexelLod = 81,
 | |
|     SpvOpTextureFetchTexelOffset = 82,
 | |
|     SpvOpTextureFetchSample = 83,
 | |
|     SpvOpTextureFetchTexel = 84,
 | |
|     SpvOpTextureGather = 85,
 | |
|     SpvOpTextureGatherOffset = 86,
 | |
|     SpvOpTextureGatherOffsets = 87,
 | |
|     SpvOpTextureQuerySizeLod = 88,
 | |
|     SpvOpTextureQuerySize = 89,
 | |
|     SpvOpTextureQueryLod = 90,
 | |
|     SpvOpTextureQueryLevels = 91,
 | |
|     SpvOpTextureQuerySamples = 92,
 | |
|     SpvOpAccessChain = 93,
 | |
|     SpvOpInBoundsAccessChain = 94,
 | |
|     SpvOpSNegate = 95,
 | |
|     SpvOpFNegate = 96,
 | |
|     SpvOpNot = 97,
 | |
|     SpvOpAny = 98,
 | |
|     SpvOpAll = 99,
 | |
|     SpvOpConvertFToU = 100,
 | |
|     SpvOpConvertFToS = 101,
 | |
|     SpvOpConvertSToF = 102,
 | |
|     SpvOpConvertUToF = 103,
 | |
|     SpvOpUConvert = 104,
 | |
|     SpvOpSConvert = 105,
 | |
|     SpvOpFConvert = 106,
 | |
|     SpvOpConvertPtrToU = 107,
 | |
|     SpvOpConvertUToPtr = 108,
 | |
|     SpvOpPtrCastToGeneric = 109,
 | |
|     SpvOpGenericCastToPtr = 110,
 | |
|     SpvOpBitcast = 111,
 | |
|     SpvOpTranspose = 112,
 | |
|     SpvOpIsNan = 113,
 | |
|     SpvOpIsInf = 114,
 | |
|     SpvOpIsFinite = 115,
 | |
|     SpvOpIsNormal = 116,
 | |
|     SpvOpSignBitSet = 117,
 | |
|     SpvOpLessOrGreater = 118,
 | |
|     SpvOpOrdered = 119,
 | |
|     SpvOpUnordered = 120,
 | |
|     SpvOpArrayLength = 121,
 | |
|     SpvOpIAdd = 122,
 | |
|     SpvOpFAdd = 123,
 | |
|     SpvOpISub = 124,
 | |
|     SpvOpFSub = 125,
 | |
|     SpvOpIMul = 126,
 | |
|     SpvOpFMul = 127,
 | |
|     SpvOpUDiv = 128,
 | |
|     SpvOpSDiv = 129,
 | |
|     SpvOpFDiv = 130,
 | |
|     SpvOpUMod = 131,
 | |
|     SpvOpSRem = 132,
 | |
|     SpvOpSMod = 133,
 | |
|     SpvOpFRem = 134,
 | |
|     SpvOpFMod = 135,
 | |
|     SpvOpVectorTimesScalar = 136,
 | |
|     SpvOpMatrixTimesScalar = 137,
 | |
|     SpvOpVectorTimesMatrix = 138,
 | |
|     SpvOpMatrixTimesVector = 139,
 | |
|     SpvOpMatrixTimesMatrix = 140,
 | |
|     SpvOpOuterProduct = 141,
 | |
|     SpvOpDot = 142,
 | |
|     SpvOpShiftRightLogical = 143,
 | |
|     SpvOpShiftRightArithmetic = 144,
 | |
|     SpvOpShiftLeftLogical = 145,
 | |
|     SpvOpLogicalOr = 146,
 | |
|     SpvOpLogicalXor = 147,
 | |
|     SpvOpLogicalAnd = 148,
 | |
|     SpvOpBitwiseOr = 149,
 | |
|     SpvOpBitwiseXor = 150,
 | |
|     SpvOpBitwiseAnd = 151,
 | |
|     SpvOpSelect = 152,
 | |
|     SpvOpIEqual = 153,
 | |
|     SpvOpFOrdEqual = 154,
 | |
|     SpvOpFUnordEqual = 155,
 | |
|     SpvOpINotEqual = 156,
 | |
|     SpvOpFOrdNotEqual = 157,
 | |
|     SpvOpFUnordNotEqual = 158,
 | |
|     SpvOpULessThan = 159,
 | |
|     SpvOpSLessThan = 160,
 | |
|     SpvOpFOrdLessThan = 161,
 | |
|     SpvOpFUnordLessThan = 162,
 | |
|     SpvOpUGreaterThan = 163,
 | |
|     SpvOpSGreaterThan = 164,
 | |
|     SpvOpFOrdGreaterThan = 165,
 | |
|     SpvOpFUnordGreaterThan = 166,
 | |
|     SpvOpULessThanEqual = 167,
 | |
|     SpvOpSLessThanEqual = 168,
 | |
|     SpvOpFOrdLessThanEqual = 169,
 | |
|     SpvOpFUnordLessThanEqual = 170,
 | |
|     SpvOpUGreaterThanEqual = 171,
 | |
|     SpvOpSGreaterThanEqual = 172,
 | |
|     SpvOpFOrdGreaterThanEqual = 173,
 | |
|     SpvOpFUnordGreaterThanEqual = 174,
 | |
|     SpvOpDPdx = 175,
 | |
|     SpvOpDPdy = 176,
 | |
|     SpvOpFwidth = 177,
 | |
|     SpvOpDPdxFine = 178,
 | |
|     SpvOpDPdyFine = 179,
 | |
|     SpvOpFwidthFine = 180,
 | |
|     SpvOpDPdxCoarse = 181,
 | |
|     SpvOpDPdyCoarse = 182,
 | |
|     SpvOpFwidthCoarse = 183,
 | |
|     SpvOpEmitVertex = 184,
 | |
|     SpvOpEndPrimitive = 185,
 | |
|     SpvOpEmitStreamVertex = 186,
 | |
|     SpvOpEndStreamPrimitive = 187,
 | |
|     SpvOpControlBarrier = 188,
 | |
|     SpvOpMemoryBarrier = 189,
 | |
|     SpvOpImagePointer = 190,
 | |
|     SpvOpAtomicInit = 191,
 | |
|     SpvOpAtomicLoad = 192,
 | |
|     SpvOpAtomicStore = 193,
 | |
|     SpvOpAtomicExchange = 194,
 | |
|     SpvOpAtomicCompareExchange = 195,
 | |
|     SpvOpAtomicCompareExchangeWeak = 196,
 | |
|     SpvOpAtomicIIncrement = 197,
 | |
|     SpvOpAtomicIDecrement = 198,
 | |
|     SpvOpAtomicIAdd = 199,
 | |
|     SpvOpAtomicISub = 200,
 | |
|     SpvOpAtomicUMin = 201,
 | |
|     SpvOpAtomicUMax = 202,
 | |
|     SpvOpAtomicAnd = 203,
 | |
|     SpvOpAtomicOr = 204,
 | |
|     SpvOpAtomicXor = 205,
 | |
|     SpvOpLoopMerge = 206,
 | |
|     SpvOpSelectionMerge = 207,
 | |
|     SpvOpLabel = 208,
 | |
|     SpvOpBranch = 209,
 | |
|     SpvOpBranchConditional = 210,
 | |
|     SpvOpSwitch = 211,
 | |
|     SpvOpKill = 212,
 | |
|     SpvOpReturn = 213,
 | |
|     SpvOpReturnValue = 214,
 | |
|     SpvOpUnreachable = 215,
 | |
|     SpvOpLifetimeStart = 216,
 | |
|     SpvOpLifetimeStop = 217,
 | |
|     SpvOpCompileFlag = 218,
 | |
|     SpvOpAsyncGroupCopy = 219,
 | |
|     SpvOpWaitGroupEvents = 220,
 | |
|     SpvOpGroupAll = 221,
 | |
|     SpvOpGroupAny = 222,
 | |
|     SpvOpGroupBroadcast = 223,
 | |
|     SpvOpGroupIAdd = 224,
 | |
|     SpvOpGroupFAdd = 225,
 | |
|     SpvOpGroupFMin = 226,
 | |
|     SpvOpGroupUMin = 227,
 | |
|     SpvOpGroupSMin = 228,
 | |
|     SpvOpGroupFMax = 229,
 | |
|     SpvOpGroupUMax = 230,
 | |
|     SpvOpGroupSMax = 231,
 | |
|     SpvOpGenericCastToPtrExplicit = 232,
 | |
|     SpvOpGenericPtrMemSemantics = 233,
 | |
|     SpvOpReadPipe = 234,
 | |
|     SpvOpWritePipe = 235,
 | |
|     SpvOpReservedReadPipe = 236,
 | |
|     SpvOpReservedWritePipe = 237,
 | |
|     SpvOpReserveReadPipePackets = 238,
 | |
|     SpvOpReserveWritePipePackets = 239,
 | |
|     SpvOpCommitReadPipe = 240,
 | |
|     SpvOpCommitWritePipe = 241,
 | |
|     SpvOpIsValidReserveId = 242,
 | |
|     SpvOpGetNumPipePackets = 243,
 | |
|     SpvOpGetMaxPipePackets = 244,
 | |
|     SpvOpGroupReserveReadPipePackets = 245,
 | |
|     SpvOpGroupReserveWritePipePackets = 246,
 | |
|     SpvOpGroupCommitReadPipe = 247,
 | |
|     SpvOpGroupCommitWritePipe = 248,
 | |
|     SpvOpEnqueueMarker = 249,
 | |
|     SpvOpEnqueueKernel = 250,
 | |
|     SpvOpGetKernelNDrangeSubGroupCount = 251,
 | |
|     SpvOpGetKernelNDrangeMaxSubGroupSize = 252,
 | |
|     SpvOpGetKernelWorkGroupSize = 253,
 | |
|     SpvOpGetKernelPreferredWorkGroupSizeMultiple = 254,
 | |
|     SpvOpRetainEvent = 255,
 | |
|     SpvOpReleaseEvent = 256,
 | |
|     SpvOpCreateUserEvent = 257,
 | |
|     SpvOpIsValidEvent = 258,
 | |
|     SpvOpSetUserEventStatus = 259,
 | |
|     SpvOpCaptureEventProfilingInfo = 260,
 | |
|     SpvOpGetDefaultQueue = 261,
 | |
|     SpvOpBuildNDRange = 262,
 | |
|     SpvOpSatConvertSToU = 263,
 | |
|     SpvOpSatConvertUToS = 264,
 | |
|     SpvOpAtomicIMin = 265,
 | |
|     SpvOpAtomicIMax = 266,
 | |
| } SpvOp;
 | |
| 
 | |
| #endif  // #ifndef __cplusplus
 | |
| 
 | |
| #endif  // #ifndef spirv_H
 |