1b8e80941Smrg/* 2b8e80941Smrg** Copyright (c) 2014-2019 The Khronos Group Inc. 3b8e80941Smrg** 4b8e80941Smrg** Permission is hereby granted, free of charge, to any person obtaining a copy 5b8e80941Smrg** of this software and/or associated documentation files (the "Materials"), 6b8e80941Smrg** to deal in the Materials without restriction, including without limitation 7b8e80941Smrg** the rights to use, copy, modify, merge, publish, distribute, sublicense, 8b8e80941Smrg** and/or sell copies of the Materials, and to permit persons to whom the 9b8e80941Smrg** Materials are furnished to do so, subject to the following conditions: 10b8e80941Smrg** 11b8e80941Smrg** The above copyright notice and this permission notice shall be included in 12b8e80941Smrg** all copies or substantial portions of the Materials. 13b8e80941Smrg** 14b8e80941Smrg** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS 15b8e80941Smrg** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND 16b8e80941Smrg** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 17b8e80941Smrg** 18b8e80941Smrg** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19b8e80941Smrg** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20b8e80941Smrg** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 21b8e80941Smrg** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22b8e80941Smrg** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 23b8e80941Smrg** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS 24b8e80941Smrg** IN THE MATERIALS. 25b8e80941Smrg*/ 26b8e80941Smrg 27b8e80941Smrg/* 28b8e80941Smrg** This header is automatically generated by the same tool that creates 29b8e80941Smrg** the Binary Section of the SPIR-V specification. 30b8e80941Smrg*/ 31b8e80941Smrg 32b8e80941Smrg/* 33b8e80941Smrg** Enumeration tokens for SPIR-V, in various styles: 34b8e80941Smrg** C, C++, C++11, JSON, Lua, Python, C#, D 35b8e80941Smrg** 36b8e80941Smrg** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL 37b8e80941Smrg** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL 38b8e80941Smrg** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL 39b8e80941Smrg** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL 40b8e80941Smrg** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL'] 41b8e80941Smrg** - C# will use enum classes in the Specification class located in the "Spv" namespace, 42b8e80941Smrg** e.g.: Spv.Specification.SourceLanguage.GLSL 43b8e80941Smrg** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL 44b8e80941Smrg** 45b8e80941Smrg** Some tokens act like mask values, which can be OR'd together, 46b8e80941Smrg** while others are mutually exclusive. The mask-like ones have 47b8e80941Smrg** "Mask" in their name, and a parallel enum that has the shift 48b8e80941Smrg** amount (1 << x) for each corresponding enumerant. 49b8e80941Smrg*/ 50b8e80941Smrg 51b8e80941Smrg#ifndef spirv_H 52b8e80941Smrg#define spirv_H 53b8e80941Smrg 54b8e80941Smrgtypedef unsigned int SpvId; 55b8e80941Smrg 56b8e80941Smrg#define SPV_VERSION 0x10300 57b8e80941Smrg#define SPV_REVISION 6 58b8e80941Smrg 59b8e80941Smrgstatic const unsigned int SpvMagicNumber = 0x07230203; 60b8e80941Smrgstatic const unsigned int SpvVersion = 0x00010300; 61b8e80941Smrgstatic const unsigned int SpvRevision = 6; 62b8e80941Smrgstatic const unsigned int SpvOpCodeMask = 0xffff; 63b8e80941Smrgstatic const unsigned int SpvWordCountShift = 16; 64b8e80941Smrg 65b8e80941Smrgtypedef enum SpvSourceLanguage_ { 66b8e80941Smrg SpvSourceLanguageUnknown = 0, 67b8e80941Smrg SpvSourceLanguageESSL = 1, 68b8e80941Smrg SpvSourceLanguageGLSL = 2, 69b8e80941Smrg SpvSourceLanguageOpenCL_C = 3, 70b8e80941Smrg SpvSourceLanguageOpenCL_CPP = 4, 71b8e80941Smrg SpvSourceLanguageHLSL = 5, 72b8e80941Smrg SpvSourceLanguageMax = 0x7fffffff, 73b8e80941Smrg} SpvSourceLanguage; 74b8e80941Smrg 75b8e80941Smrgtypedef enum SpvExecutionModel_ { 76b8e80941Smrg SpvExecutionModelVertex = 0, 77b8e80941Smrg SpvExecutionModelTessellationControl = 1, 78b8e80941Smrg SpvExecutionModelTessellationEvaluation = 2, 79b8e80941Smrg SpvExecutionModelGeometry = 3, 80b8e80941Smrg SpvExecutionModelFragment = 4, 81b8e80941Smrg SpvExecutionModelGLCompute = 5, 82b8e80941Smrg SpvExecutionModelKernel = 6, 83b8e80941Smrg SpvExecutionModelTaskNV = 5267, 84b8e80941Smrg SpvExecutionModelMeshNV = 5268, 85b8e80941Smrg SpvExecutionModelRayGenerationNV = 5313, 86b8e80941Smrg SpvExecutionModelIntersectionNV = 5314, 87b8e80941Smrg SpvExecutionModelAnyHitNV = 5315, 88b8e80941Smrg SpvExecutionModelClosestHitNV = 5316, 89b8e80941Smrg SpvExecutionModelMissNV = 5317, 90b8e80941Smrg SpvExecutionModelCallableNV = 5318, 91b8e80941Smrg SpvExecutionModelMax = 0x7fffffff, 92b8e80941Smrg} SpvExecutionModel; 93b8e80941Smrg 94b8e80941Smrgtypedef enum SpvAddressingModel_ { 95b8e80941Smrg SpvAddressingModelLogical = 0, 96b8e80941Smrg SpvAddressingModelPhysical32 = 1, 97b8e80941Smrg SpvAddressingModelPhysical64 = 2, 98b8e80941Smrg SpvAddressingModelPhysicalStorageBuffer64EXT = 5348, 99b8e80941Smrg SpvAddressingModelMax = 0x7fffffff, 100b8e80941Smrg} SpvAddressingModel; 101b8e80941Smrg 102b8e80941Smrgtypedef enum SpvMemoryModel_ { 103b8e80941Smrg SpvMemoryModelSimple = 0, 104b8e80941Smrg SpvMemoryModelGLSL450 = 1, 105b8e80941Smrg SpvMemoryModelOpenCL = 2, 106b8e80941Smrg SpvMemoryModelVulkanKHR = 3, 107b8e80941Smrg SpvMemoryModelMax = 0x7fffffff, 108b8e80941Smrg} SpvMemoryModel; 109b8e80941Smrg 110b8e80941Smrgtypedef enum SpvExecutionMode_ { 111b8e80941Smrg SpvExecutionModeInvocations = 0, 112b8e80941Smrg SpvExecutionModeSpacingEqual = 1, 113b8e80941Smrg SpvExecutionModeSpacingFractionalEven = 2, 114b8e80941Smrg SpvExecutionModeSpacingFractionalOdd = 3, 115b8e80941Smrg SpvExecutionModeVertexOrderCw = 4, 116b8e80941Smrg SpvExecutionModeVertexOrderCcw = 5, 117b8e80941Smrg SpvExecutionModePixelCenterInteger = 6, 118b8e80941Smrg SpvExecutionModeOriginUpperLeft = 7, 119b8e80941Smrg SpvExecutionModeOriginLowerLeft = 8, 120b8e80941Smrg SpvExecutionModeEarlyFragmentTests = 9, 121b8e80941Smrg SpvExecutionModePointMode = 10, 122b8e80941Smrg SpvExecutionModeXfb = 11, 123b8e80941Smrg SpvExecutionModeDepthReplacing = 12, 124b8e80941Smrg SpvExecutionModeDepthGreater = 14, 125b8e80941Smrg SpvExecutionModeDepthLess = 15, 126b8e80941Smrg SpvExecutionModeDepthUnchanged = 16, 127b8e80941Smrg SpvExecutionModeLocalSize = 17, 128b8e80941Smrg SpvExecutionModeLocalSizeHint = 18, 129b8e80941Smrg SpvExecutionModeInputPoints = 19, 130b8e80941Smrg SpvExecutionModeInputLines = 20, 131b8e80941Smrg SpvExecutionModeInputLinesAdjacency = 21, 132b8e80941Smrg SpvExecutionModeTriangles = 22, 133b8e80941Smrg SpvExecutionModeInputTrianglesAdjacency = 23, 134b8e80941Smrg SpvExecutionModeQuads = 24, 135b8e80941Smrg SpvExecutionModeIsolines = 25, 136b8e80941Smrg SpvExecutionModeOutputVertices = 26, 137b8e80941Smrg SpvExecutionModeOutputPoints = 27, 138b8e80941Smrg SpvExecutionModeOutputLineStrip = 28, 139b8e80941Smrg SpvExecutionModeOutputTriangleStrip = 29, 140b8e80941Smrg SpvExecutionModeVecTypeHint = 30, 141b8e80941Smrg SpvExecutionModeContractionOff = 31, 142b8e80941Smrg SpvExecutionModeInitializer = 33, 143b8e80941Smrg SpvExecutionModeFinalizer = 34, 144b8e80941Smrg SpvExecutionModeSubgroupSize = 35, 145b8e80941Smrg SpvExecutionModeSubgroupsPerWorkgroup = 36, 146b8e80941Smrg SpvExecutionModeSubgroupsPerWorkgroupId = 37, 147b8e80941Smrg SpvExecutionModeLocalSizeId = 38, 148b8e80941Smrg SpvExecutionModeLocalSizeHintId = 39, 149b8e80941Smrg SpvExecutionModePostDepthCoverage = 4446, 150b8e80941Smrg SpvExecutionModeDenormPreserve = 4459, 151b8e80941Smrg SpvExecutionModeDenormFlushToZero = 4460, 152b8e80941Smrg SpvExecutionModeSignedZeroInfNanPreserve = 4461, 153b8e80941Smrg SpvExecutionModeRoundingModeRTE = 4462, 154b8e80941Smrg SpvExecutionModeRoundingModeRTZ = 4463, 155b8e80941Smrg SpvExecutionModeStencilRefReplacingEXT = 5027, 156b8e80941Smrg SpvExecutionModeOutputLinesNV = 5269, 157b8e80941Smrg SpvExecutionModeOutputPrimitivesNV = 5270, 158b8e80941Smrg SpvExecutionModeDerivativeGroupQuadsNV = 5289, 159b8e80941Smrg SpvExecutionModeDerivativeGroupLinearNV = 5290, 160b8e80941Smrg SpvExecutionModeOutputTrianglesNV = 5298, 161b8e80941Smrg SpvExecutionModeMax = 0x7fffffff, 162b8e80941Smrg} SpvExecutionMode; 163b8e80941Smrg 164b8e80941Smrgtypedef enum SpvStorageClass_ { 165b8e80941Smrg SpvStorageClassUniformConstant = 0, 166b8e80941Smrg SpvStorageClassInput = 1, 167b8e80941Smrg SpvStorageClassUniform = 2, 168b8e80941Smrg SpvStorageClassOutput = 3, 169b8e80941Smrg SpvStorageClassWorkgroup = 4, 170b8e80941Smrg SpvStorageClassCrossWorkgroup = 5, 171b8e80941Smrg SpvStorageClassPrivate = 6, 172b8e80941Smrg SpvStorageClassFunction = 7, 173b8e80941Smrg SpvStorageClassGeneric = 8, 174b8e80941Smrg SpvStorageClassPushConstant = 9, 175b8e80941Smrg SpvStorageClassAtomicCounter = 10, 176b8e80941Smrg SpvStorageClassImage = 11, 177b8e80941Smrg SpvStorageClassStorageBuffer = 12, 178b8e80941Smrg SpvStorageClassCallableDataNV = 5328, 179b8e80941Smrg SpvStorageClassIncomingCallableDataNV = 5329, 180b8e80941Smrg SpvStorageClassRayPayloadNV = 5338, 181b8e80941Smrg SpvStorageClassHitAttributeNV = 5339, 182b8e80941Smrg SpvStorageClassIncomingRayPayloadNV = 5342, 183b8e80941Smrg SpvStorageClassShaderRecordBufferNV = 5343, 184b8e80941Smrg SpvStorageClassPhysicalStorageBufferEXT = 5349, 185b8e80941Smrg SpvStorageClassMax = 0x7fffffff, 186b8e80941Smrg} SpvStorageClass; 187b8e80941Smrg 188b8e80941Smrgtypedef enum SpvDim_ { 189b8e80941Smrg SpvDim1D = 0, 190b8e80941Smrg SpvDim2D = 1, 191b8e80941Smrg SpvDim3D = 2, 192b8e80941Smrg SpvDimCube = 3, 193b8e80941Smrg SpvDimRect = 4, 194b8e80941Smrg SpvDimBuffer = 5, 195b8e80941Smrg SpvDimSubpassData = 6, 196b8e80941Smrg SpvDimMax = 0x7fffffff, 197b8e80941Smrg} SpvDim; 198b8e80941Smrg 199b8e80941Smrgtypedef enum SpvSamplerAddressingMode_ { 200b8e80941Smrg SpvSamplerAddressingModeNone = 0, 201b8e80941Smrg SpvSamplerAddressingModeClampToEdge = 1, 202b8e80941Smrg SpvSamplerAddressingModeClamp = 2, 203b8e80941Smrg SpvSamplerAddressingModeRepeat = 3, 204b8e80941Smrg SpvSamplerAddressingModeRepeatMirrored = 4, 205b8e80941Smrg SpvSamplerAddressingModeMax = 0x7fffffff, 206b8e80941Smrg} SpvSamplerAddressingMode; 207b8e80941Smrg 208b8e80941Smrgtypedef enum SpvSamplerFilterMode_ { 209b8e80941Smrg SpvSamplerFilterModeNearest = 0, 210b8e80941Smrg SpvSamplerFilterModeLinear = 1, 211b8e80941Smrg SpvSamplerFilterModeMax = 0x7fffffff, 212b8e80941Smrg} SpvSamplerFilterMode; 213b8e80941Smrg 214b8e80941Smrgtypedef enum SpvImageFormat_ { 215b8e80941Smrg SpvImageFormatUnknown = 0, 216b8e80941Smrg SpvImageFormatRgba32f = 1, 217b8e80941Smrg SpvImageFormatRgba16f = 2, 218b8e80941Smrg SpvImageFormatR32f = 3, 219b8e80941Smrg SpvImageFormatRgba8 = 4, 220b8e80941Smrg SpvImageFormatRgba8Snorm = 5, 221b8e80941Smrg SpvImageFormatRg32f = 6, 222b8e80941Smrg SpvImageFormatRg16f = 7, 223b8e80941Smrg SpvImageFormatR11fG11fB10f = 8, 224b8e80941Smrg SpvImageFormatR16f = 9, 225b8e80941Smrg SpvImageFormatRgba16 = 10, 226b8e80941Smrg SpvImageFormatRgb10A2 = 11, 227b8e80941Smrg SpvImageFormatRg16 = 12, 228b8e80941Smrg SpvImageFormatRg8 = 13, 229b8e80941Smrg SpvImageFormatR16 = 14, 230b8e80941Smrg SpvImageFormatR8 = 15, 231b8e80941Smrg SpvImageFormatRgba16Snorm = 16, 232b8e80941Smrg SpvImageFormatRg16Snorm = 17, 233b8e80941Smrg SpvImageFormatRg8Snorm = 18, 234b8e80941Smrg SpvImageFormatR16Snorm = 19, 235b8e80941Smrg SpvImageFormatR8Snorm = 20, 236b8e80941Smrg SpvImageFormatRgba32i = 21, 237b8e80941Smrg SpvImageFormatRgba16i = 22, 238b8e80941Smrg SpvImageFormatRgba8i = 23, 239b8e80941Smrg SpvImageFormatR32i = 24, 240b8e80941Smrg SpvImageFormatRg32i = 25, 241b8e80941Smrg SpvImageFormatRg16i = 26, 242b8e80941Smrg SpvImageFormatRg8i = 27, 243b8e80941Smrg SpvImageFormatR16i = 28, 244b8e80941Smrg SpvImageFormatR8i = 29, 245b8e80941Smrg SpvImageFormatRgba32ui = 30, 246b8e80941Smrg SpvImageFormatRgba16ui = 31, 247b8e80941Smrg SpvImageFormatRgba8ui = 32, 248b8e80941Smrg SpvImageFormatR32ui = 33, 249b8e80941Smrg SpvImageFormatRgb10a2ui = 34, 250b8e80941Smrg SpvImageFormatRg32ui = 35, 251b8e80941Smrg SpvImageFormatRg16ui = 36, 252b8e80941Smrg SpvImageFormatRg8ui = 37, 253b8e80941Smrg SpvImageFormatR16ui = 38, 254b8e80941Smrg SpvImageFormatR8ui = 39, 255b8e80941Smrg SpvImageFormatMax = 0x7fffffff, 256b8e80941Smrg} SpvImageFormat; 257b8e80941Smrg 258b8e80941Smrgtypedef enum SpvImageChannelOrder_ { 259b8e80941Smrg SpvImageChannelOrderR = 0, 260b8e80941Smrg SpvImageChannelOrderA = 1, 261b8e80941Smrg SpvImageChannelOrderRG = 2, 262b8e80941Smrg SpvImageChannelOrderRA = 3, 263b8e80941Smrg SpvImageChannelOrderRGB = 4, 264b8e80941Smrg SpvImageChannelOrderRGBA = 5, 265b8e80941Smrg SpvImageChannelOrderBGRA = 6, 266b8e80941Smrg SpvImageChannelOrderARGB = 7, 267b8e80941Smrg SpvImageChannelOrderIntensity = 8, 268b8e80941Smrg SpvImageChannelOrderLuminance = 9, 269b8e80941Smrg SpvImageChannelOrderRx = 10, 270b8e80941Smrg SpvImageChannelOrderRGx = 11, 271b8e80941Smrg SpvImageChannelOrderRGBx = 12, 272b8e80941Smrg SpvImageChannelOrderDepth = 13, 273b8e80941Smrg SpvImageChannelOrderDepthStencil = 14, 274b8e80941Smrg SpvImageChannelOrdersRGB = 15, 275b8e80941Smrg SpvImageChannelOrdersRGBx = 16, 276b8e80941Smrg SpvImageChannelOrdersRGBA = 17, 277b8e80941Smrg SpvImageChannelOrdersBGRA = 18, 278b8e80941Smrg SpvImageChannelOrderABGR = 19, 279b8e80941Smrg SpvImageChannelOrderMax = 0x7fffffff, 280b8e80941Smrg} SpvImageChannelOrder; 281b8e80941Smrg 282b8e80941Smrgtypedef enum SpvImageChannelDataType_ { 283b8e80941Smrg SpvImageChannelDataTypeSnormInt8 = 0, 284b8e80941Smrg SpvImageChannelDataTypeSnormInt16 = 1, 285b8e80941Smrg SpvImageChannelDataTypeUnormInt8 = 2, 286b8e80941Smrg SpvImageChannelDataTypeUnormInt16 = 3, 287b8e80941Smrg SpvImageChannelDataTypeUnormShort565 = 4, 288b8e80941Smrg SpvImageChannelDataTypeUnormShort555 = 5, 289b8e80941Smrg SpvImageChannelDataTypeUnormInt101010 = 6, 290b8e80941Smrg SpvImageChannelDataTypeSignedInt8 = 7, 291b8e80941Smrg SpvImageChannelDataTypeSignedInt16 = 8, 292b8e80941Smrg SpvImageChannelDataTypeSignedInt32 = 9, 293b8e80941Smrg SpvImageChannelDataTypeUnsignedInt8 = 10, 294b8e80941Smrg SpvImageChannelDataTypeUnsignedInt16 = 11, 295b8e80941Smrg SpvImageChannelDataTypeUnsignedInt32 = 12, 296b8e80941Smrg SpvImageChannelDataTypeHalfFloat = 13, 297b8e80941Smrg SpvImageChannelDataTypeFloat = 14, 298b8e80941Smrg SpvImageChannelDataTypeUnormInt24 = 15, 299b8e80941Smrg SpvImageChannelDataTypeUnormInt101010_2 = 16, 300b8e80941Smrg SpvImageChannelDataTypeMax = 0x7fffffff, 301b8e80941Smrg} SpvImageChannelDataType; 302b8e80941Smrg 303b8e80941Smrgtypedef enum SpvImageOperandsShift_ { 304b8e80941Smrg SpvImageOperandsBiasShift = 0, 305b8e80941Smrg SpvImageOperandsLodShift = 1, 306b8e80941Smrg SpvImageOperandsGradShift = 2, 307b8e80941Smrg SpvImageOperandsConstOffsetShift = 3, 308b8e80941Smrg SpvImageOperandsOffsetShift = 4, 309b8e80941Smrg SpvImageOperandsConstOffsetsShift = 5, 310b8e80941Smrg SpvImageOperandsSampleShift = 6, 311b8e80941Smrg SpvImageOperandsMinLodShift = 7, 312b8e80941Smrg SpvImageOperandsMakeTexelAvailableKHRShift = 8, 313b8e80941Smrg SpvImageOperandsMakeTexelVisibleKHRShift = 9, 314b8e80941Smrg SpvImageOperandsNonPrivateTexelKHRShift = 10, 315b8e80941Smrg SpvImageOperandsVolatileTexelKHRShift = 11, 316b8e80941Smrg SpvImageOperandsMax = 0x7fffffff, 317b8e80941Smrg} SpvImageOperandsShift; 318b8e80941Smrg 319b8e80941Smrgtypedef enum SpvImageOperandsMask_ { 320b8e80941Smrg SpvImageOperandsMaskNone = 0, 321b8e80941Smrg SpvImageOperandsBiasMask = 0x00000001, 322b8e80941Smrg SpvImageOperandsLodMask = 0x00000002, 323b8e80941Smrg SpvImageOperandsGradMask = 0x00000004, 324b8e80941Smrg SpvImageOperandsConstOffsetMask = 0x00000008, 325b8e80941Smrg SpvImageOperandsOffsetMask = 0x00000010, 326b8e80941Smrg SpvImageOperandsConstOffsetsMask = 0x00000020, 327b8e80941Smrg SpvImageOperandsSampleMask = 0x00000040, 328b8e80941Smrg SpvImageOperandsMinLodMask = 0x00000080, 329b8e80941Smrg SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100, 330b8e80941Smrg SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200, 331b8e80941Smrg SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400, 332b8e80941Smrg SpvImageOperandsVolatileTexelKHRMask = 0x00000800, 333b8e80941Smrg} SpvImageOperandsMask; 334b8e80941Smrg 335b8e80941Smrgtypedef enum SpvFPFastMathModeShift_ { 336b8e80941Smrg SpvFPFastMathModeNotNaNShift = 0, 337b8e80941Smrg SpvFPFastMathModeNotInfShift = 1, 338b8e80941Smrg SpvFPFastMathModeNSZShift = 2, 339b8e80941Smrg SpvFPFastMathModeAllowRecipShift = 3, 340b8e80941Smrg SpvFPFastMathModeFastShift = 4, 341b8e80941Smrg SpvFPFastMathModeMax = 0x7fffffff, 342b8e80941Smrg} SpvFPFastMathModeShift; 343b8e80941Smrg 344b8e80941Smrgtypedef enum SpvFPFastMathModeMask_ { 345b8e80941Smrg SpvFPFastMathModeMaskNone = 0, 346b8e80941Smrg SpvFPFastMathModeNotNaNMask = 0x00000001, 347b8e80941Smrg SpvFPFastMathModeNotInfMask = 0x00000002, 348b8e80941Smrg SpvFPFastMathModeNSZMask = 0x00000004, 349b8e80941Smrg SpvFPFastMathModeAllowRecipMask = 0x00000008, 350b8e80941Smrg SpvFPFastMathModeFastMask = 0x00000010, 351b8e80941Smrg} SpvFPFastMathModeMask; 352b8e80941Smrg 353b8e80941Smrgtypedef enum SpvFPRoundingMode_ { 354b8e80941Smrg SpvFPRoundingModeRTE = 0, 355b8e80941Smrg SpvFPRoundingModeRTZ = 1, 356b8e80941Smrg SpvFPRoundingModeRTP = 2, 357b8e80941Smrg SpvFPRoundingModeRTN = 3, 358b8e80941Smrg SpvFPRoundingModeMax = 0x7fffffff, 359b8e80941Smrg} SpvFPRoundingMode; 360b8e80941Smrg 361b8e80941Smrgtypedef enum SpvLinkageType_ { 362b8e80941Smrg SpvLinkageTypeExport = 0, 363b8e80941Smrg SpvLinkageTypeImport = 1, 364b8e80941Smrg SpvLinkageTypeMax = 0x7fffffff, 365b8e80941Smrg} SpvLinkageType; 366b8e80941Smrg 367b8e80941Smrgtypedef enum SpvAccessQualifier_ { 368b8e80941Smrg SpvAccessQualifierReadOnly = 0, 369b8e80941Smrg SpvAccessQualifierWriteOnly = 1, 370b8e80941Smrg SpvAccessQualifierReadWrite = 2, 371b8e80941Smrg SpvAccessQualifierMax = 0x7fffffff, 372b8e80941Smrg} SpvAccessQualifier; 373b8e80941Smrg 374b8e80941Smrgtypedef enum SpvFunctionParameterAttribute_ { 375b8e80941Smrg SpvFunctionParameterAttributeZext = 0, 376b8e80941Smrg SpvFunctionParameterAttributeSext = 1, 377b8e80941Smrg SpvFunctionParameterAttributeByVal = 2, 378b8e80941Smrg SpvFunctionParameterAttributeSret = 3, 379b8e80941Smrg SpvFunctionParameterAttributeNoAlias = 4, 380b8e80941Smrg SpvFunctionParameterAttributeNoCapture = 5, 381b8e80941Smrg SpvFunctionParameterAttributeNoWrite = 6, 382b8e80941Smrg SpvFunctionParameterAttributeNoReadWrite = 7, 383b8e80941Smrg SpvFunctionParameterAttributeMax = 0x7fffffff, 384b8e80941Smrg} SpvFunctionParameterAttribute; 385b8e80941Smrg 386b8e80941Smrgtypedef enum SpvDecoration_ { 387b8e80941Smrg SpvDecorationRelaxedPrecision = 0, 388b8e80941Smrg SpvDecorationSpecId = 1, 389b8e80941Smrg SpvDecorationBlock = 2, 390b8e80941Smrg SpvDecorationBufferBlock = 3, 391b8e80941Smrg SpvDecorationRowMajor = 4, 392b8e80941Smrg SpvDecorationColMajor = 5, 393b8e80941Smrg SpvDecorationArrayStride = 6, 394b8e80941Smrg SpvDecorationMatrixStride = 7, 395b8e80941Smrg SpvDecorationGLSLShared = 8, 396b8e80941Smrg SpvDecorationGLSLPacked = 9, 397b8e80941Smrg SpvDecorationCPacked = 10, 398b8e80941Smrg SpvDecorationBuiltIn = 11, 399b8e80941Smrg SpvDecorationNoPerspective = 13, 400b8e80941Smrg SpvDecorationFlat = 14, 401b8e80941Smrg SpvDecorationPatch = 15, 402b8e80941Smrg SpvDecorationCentroid = 16, 403b8e80941Smrg SpvDecorationSample = 17, 404b8e80941Smrg SpvDecorationInvariant = 18, 405b8e80941Smrg SpvDecorationRestrict = 19, 406b8e80941Smrg SpvDecorationAliased = 20, 407b8e80941Smrg SpvDecorationVolatile = 21, 408b8e80941Smrg SpvDecorationConstant = 22, 409b8e80941Smrg SpvDecorationCoherent = 23, 410b8e80941Smrg SpvDecorationNonWritable = 24, 411b8e80941Smrg SpvDecorationNonReadable = 25, 412b8e80941Smrg SpvDecorationUniform = 26, 413b8e80941Smrg SpvDecorationSaturatedConversion = 28, 414b8e80941Smrg SpvDecorationStream = 29, 415b8e80941Smrg SpvDecorationLocation = 30, 416b8e80941Smrg SpvDecorationComponent = 31, 417b8e80941Smrg SpvDecorationIndex = 32, 418b8e80941Smrg SpvDecorationBinding = 33, 419b8e80941Smrg SpvDecorationDescriptorSet = 34, 420b8e80941Smrg SpvDecorationOffset = 35, 421b8e80941Smrg SpvDecorationXfbBuffer = 36, 422b8e80941Smrg SpvDecorationXfbStride = 37, 423b8e80941Smrg SpvDecorationFuncParamAttr = 38, 424b8e80941Smrg SpvDecorationFPRoundingMode = 39, 425b8e80941Smrg SpvDecorationFPFastMathMode = 40, 426b8e80941Smrg SpvDecorationLinkageAttributes = 41, 427b8e80941Smrg SpvDecorationNoContraction = 42, 428b8e80941Smrg SpvDecorationInputAttachmentIndex = 43, 429b8e80941Smrg SpvDecorationAlignment = 44, 430b8e80941Smrg SpvDecorationMaxByteOffset = 45, 431b8e80941Smrg SpvDecorationAlignmentId = 46, 432b8e80941Smrg SpvDecorationMaxByteOffsetId = 47, 433b8e80941Smrg SpvDecorationNoSignedWrap = 4469, 434b8e80941Smrg SpvDecorationNoUnsignedWrap = 4470, 435b8e80941Smrg SpvDecorationExplicitInterpAMD = 4999, 436b8e80941Smrg SpvDecorationOverrideCoverageNV = 5248, 437b8e80941Smrg SpvDecorationPassthroughNV = 5250, 438b8e80941Smrg SpvDecorationViewportRelativeNV = 5252, 439b8e80941Smrg SpvDecorationSecondaryViewportRelativeNV = 5256, 440b8e80941Smrg SpvDecorationPerPrimitiveNV = 5271, 441b8e80941Smrg SpvDecorationPerViewNV = 5272, 442b8e80941Smrg SpvDecorationPerTaskNV = 5273, 443b8e80941Smrg SpvDecorationPerVertexNV = 5285, 444b8e80941Smrg SpvDecorationNonUniformEXT = 5300, 445b8e80941Smrg SpvDecorationRestrictPointerEXT = 5355, 446b8e80941Smrg SpvDecorationAliasedPointerEXT = 5356, 447b8e80941Smrg SpvDecorationHlslCounterBufferGOOGLE = 5634, 448b8e80941Smrg SpvDecorationHlslSemanticGOOGLE = 5635, 449b8e80941Smrg SpvDecorationMax = 0x7fffffff, 450b8e80941Smrg} SpvDecoration; 451b8e80941Smrg 452b8e80941Smrgtypedef enum SpvBuiltIn_ { 453b8e80941Smrg SpvBuiltInPosition = 0, 454b8e80941Smrg SpvBuiltInPointSize = 1, 455b8e80941Smrg SpvBuiltInClipDistance = 3, 456b8e80941Smrg SpvBuiltInCullDistance = 4, 457b8e80941Smrg SpvBuiltInVertexId = 5, 458b8e80941Smrg SpvBuiltInInstanceId = 6, 459b8e80941Smrg SpvBuiltInPrimitiveId = 7, 460b8e80941Smrg SpvBuiltInInvocationId = 8, 461b8e80941Smrg SpvBuiltInLayer = 9, 462b8e80941Smrg SpvBuiltInViewportIndex = 10, 463b8e80941Smrg SpvBuiltInTessLevelOuter = 11, 464b8e80941Smrg SpvBuiltInTessLevelInner = 12, 465b8e80941Smrg SpvBuiltInTessCoord = 13, 466b8e80941Smrg SpvBuiltInPatchVertices = 14, 467b8e80941Smrg SpvBuiltInFragCoord = 15, 468b8e80941Smrg SpvBuiltInPointCoord = 16, 469b8e80941Smrg SpvBuiltInFrontFacing = 17, 470b8e80941Smrg SpvBuiltInSampleId = 18, 471b8e80941Smrg SpvBuiltInSamplePosition = 19, 472b8e80941Smrg SpvBuiltInSampleMask = 20, 473b8e80941Smrg SpvBuiltInFragDepth = 22, 474b8e80941Smrg SpvBuiltInHelperInvocation = 23, 475b8e80941Smrg SpvBuiltInNumWorkgroups = 24, 476b8e80941Smrg SpvBuiltInWorkgroupSize = 25, 477b8e80941Smrg SpvBuiltInWorkgroupId = 26, 478b8e80941Smrg SpvBuiltInLocalInvocationId = 27, 479b8e80941Smrg SpvBuiltInGlobalInvocationId = 28, 480b8e80941Smrg SpvBuiltInLocalInvocationIndex = 29, 481b8e80941Smrg SpvBuiltInWorkDim = 30, 482b8e80941Smrg SpvBuiltInGlobalSize = 31, 483b8e80941Smrg SpvBuiltInEnqueuedWorkgroupSize = 32, 484b8e80941Smrg SpvBuiltInGlobalOffset = 33, 485b8e80941Smrg SpvBuiltInGlobalLinearId = 34, 486b8e80941Smrg SpvBuiltInSubgroupSize = 36, 487b8e80941Smrg SpvBuiltInSubgroupMaxSize = 37, 488b8e80941Smrg SpvBuiltInNumSubgroups = 38, 489b8e80941Smrg SpvBuiltInNumEnqueuedSubgroups = 39, 490b8e80941Smrg SpvBuiltInSubgroupId = 40, 491b8e80941Smrg SpvBuiltInSubgroupLocalInvocationId = 41, 492b8e80941Smrg SpvBuiltInVertexIndex = 42, 493b8e80941Smrg SpvBuiltInInstanceIndex = 43, 494b8e80941Smrg SpvBuiltInSubgroupEqMask = 4416, 495b8e80941Smrg SpvBuiltInSubgroupEqMaskKHR = 4416, 496b8e80941Smrg SpvBuiltInSubgroupGeMask = 4417, 497b8e80941Smrg SpvBuiltInSubgroupGeMaskKHR = 4417, 498b8e80941Smrg SpvBuiltInSubgroupGtMask = 4418, 499b8e80941Smrg SpvBuiltInSubgroupGtMaskKHR = 4418, 500b8e80941Smrg SpvBuiltInSubgroupLeMask = 4419, 501b8e80941Smrg SpvBuiltInSubgroupLeMaskKHR = 4419, 502b8e80941Smrg SpvBuiltInSubgroupLtMask = 4420, 503b8e80941Smrg SpvBuiltInSubgroupLtMaskKHR = 4420, 504b8e80941Smrg SpvBuiltInBaseVertex = 4424, 505b8e80941Smrg SpvBuiltInBaseInstance = 4425, 506b8e80941Smrg SpvBuiltInDrawIndex = 4426, 507b8e80941Smrg SpvBuiltInDeviceIndex = 4438, 508b8e80941Smrg SpvBuiltInViewIndex = 4440, 509b8e80941Smrg SpvBuiltInBaryCoordNoPerspAMD = 4992, 510b8e80941Smrg SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993, 511b8e80941Smrg SpvBuiltInBaryCoordNoPerspSampleAMD = 4994, 512b8e80941Smrg SpvBuiltInBaryCoordSmoothAMD = 4995, 513b8e80941Smrg SpvBuiltInBaryCoordSmoothCentroidAMD = 4996, 514b8e80941Smrg SpvBuiltInBaryCoordSmoothSampleAMD = 4997, 515b8e80941Smrg SpvBuiltInBaryCoordPullModelAMD = 4998, 516b8e80941Smrg SpvBuiltInFragStencilRefEXT = 5014, 517b8e80941Smrg SpvBuiltInViewportMaskNV = 5253, 518b8e80941Smrg SpvBuiltInSecondaryPositionNV = 5257, 519b8e80941Smrg SpvBuiltInSecondaryViewportMaskNV = 5258, 520b8e80941Smrg SpvBuiltInPositionPerViewNV = 5261, 521b8e80941Smrg SpvBuiltInViewportMaskPerViewNV = 5262, 522b8e80941Smrg SpvBuiltInFullyCoveredEXT = 5264, 523b8e80941Smrg SpvBuiltInTaskCountNV = 5274, 524b8e80941Smrg SpvBuiltInPrimitiveCountNV = 5275, 525b8e80941Smrg SpvBuiltInPrimitiveIndicesNV = 5276, 526b8e80941Smrg SpvBuiltInClipDistancePerViewNV = 5277, 527b8e80941Smrg SpvBuiltInCullDistancePerViewNV = 5278, 528b8e80941Smrg SpvBuiltInLayerPerViewNV = 5279, 529b8e80941Smrg SpvBuiltInMeshViewCountNV = 5280, 530b8e80941Smrg SpvBuiltInMeshViewIndicesNV = 5281, 531b8e80941Smrg SpvBuiltInBaryCoordNV = 5286, 532b8e80941Smrg SpvBuiltInBaryCoordNoPerspNV = 5287, 533b8e80941Smrg SpvBuiltInFragSizeEXT = 5292, 534b8e80941Smrg SpvBuiltInFragmentSizeNV = 5292, 535b8e80941Smrg SpvBuiltInFragInvocationCountEXT = 5293, 536b8e80941Smrg SpvBuiltInInvocationsPerPixelNV = 5293, 537b8e80941Smrg SpvBuiltInLaunchIdNV = 5319, 538b8e80941Smrg SpvBuiltInLaunchSizeNV = 5320, 539b8e80941Smrg SpvBuiltInWorldRayOriginNV = 5321, 540b8e80941Smrg SpvBuiltInWorldRayDirectionNV = 5322, 541b8e80941Smrg SpvBuiltInObjectRayOriginNV = 5323, 542b8e80941Smrg SpvBuiltInObjectRayDirectionNV = 5324, 543b8e80941Smrg SpvBuiltInRayTminNV = 5325, 544b8e80941Smrg SpvBuiltInRayTmaxNV = 5326, 545b8e80941Smrg SpvBuiltInInstanceCustomIndexNV = 5327, 546b8e80941Smrg SpvBuiltInObjectToWorldNV = 5330, 547b8e80941Smrg SpvBuiltInWorldToObjectNV = 5331, 548b8e80941Smrg SpvBuiltInHitTNV = 5332, 549b8e80941Smrg SpvBuiltInHitKindNV = 5333, 550b8e80941Smrg SpvBuiltInIncomingRayFlagsNV = 5351, 551b8e80941Smrg SpvBuiltInMax = 0x7fffffff, 552b8e80941Smrg} SpvBuiltIn; 553b8e80941Smrg 554b8e80941Smrgtypedef enum SpvSelectionControlShift_ { 555b8e80941Smrg SpvSelectionControlFlattenShift = 0, 556b8e80941Smrg SpvSelectionControlDontFlattenShift = 1, 557b8e80941Smrg SpvSelectionControlMax = 0x7fffffff, 558b8e80941Smrg} SpvSelectionControlShift; 559b8e80941Smrg 560b8e80941Smrgtypedef enum SpvSelectionControlMask_ { 561b8e80941Smrg SpvSelectionControlMaskNone = 0, 562b8e80941Smrg SpvSelectionControlFlattenMask = 0x00000001, 563b8e80941Smrg SpvSelectionControlDontFlattenMask = 0x00000002, 564b8e80941Smrg} SpvSelectionControlMask; 565b8e80941Smrg 566b8e80941Smrgtypedef enum SpvLoopControlShift_ { 567b8e80941Smrg SpvLoopControlUnrollShift = 0, 568b8e80941Smrg SpvLoopControlDontUnrollShift = 1, 569b8e80941Smrg SpvLoopControlDependencyInfiniteShift = 2, 570b8e80941Smrg SpvLoopControlDependencyLengthShift = 3, 571b8e80941Smrg SpvLoopControlMax = 0x7fffffff, 572b8e80941Smrg} SpvLoopControlShift; 573b8e80941Smrg 574b8e80941Smrgtypedef enum SpvLoopControlMask_ { 575b8e80941Smrg SpvLoopControlMaskNone = 0, 576b8e80941Smrg SpvLoopControlUnrollMask = 0x00000001, 577b8e80941Smrg SpvLoopControlDontUnrollMask = 0x00000002, 578b8e80941Smrg SpvLoopControlDependencyInfiniteMask = 0x00000004, 579b8e80941Smrg SpvLoopControlDependencyLengthMask = 0x00000008, 580b8e80941Smrg} SpvLoopControlMask; 581b8e80941Smrg 582b8e80941Smrgtypedef enum SpvFunctionControlShift_ { 583b8e80941Smrg SpvFunctionControlInlineShift = 0, 584b8e80941Smrg SpvFunctionControlDontInlineShift = 1, 585b8e80941Smrg SpvFunctionControlPureShift = 2, 586b8e80941Smrg SpvFunctionControlConstShift = 3, 587b8e80941Smrg SpvFunctionControlMax = 0x7fffffff, 588b8e80941Smrg} SpvFunctionControlShift; 589b8e80941Smrg 590b8e80941Smrgtypedef enum SpvFunctionControlMask_ { 591b8e80941Smrg SpvFunctionControlMaskNone = 0, 592b8e80941Smrg SpvFunctionControlInlineMask = 0x00000001, 593b8e80941Smrg SpvFunctionControlDontInlineMask = 0x00000002, 594b8e80941Smrg SpvFunctionControlPureMask = 0x00000004, 595b8e80941Smrg SpvFunctionControlConstMask = 0x00000008, 596b8e80941Smrg} SpvFunctionControlMask; 597b8e80941Smrg 598b8e80941Smrgtypedef enum SpvMemorySemanticsShift_ { 599b8e80941Smrg SpvMemorySemanticsAcquireShift = 1, 600b8e80941Smrg SpvMemorySemanticsReleaseShift = 2, 601b8e80941Smrg SpvMemorySemanticsAcquireReleaseShift = 3, 602b8e80941Smrg SpvMemorySemanticsSequentiallyConsistentShift = 4, 603b8e80941Smrg SpvMemorySemanticsUniformMemoryShift = 6, 604b8e80941Smrg SpvMemorySemanticsSubgroupMemoryShift = 7, 605b8e80941Smrg SpvMemorySemanticsWorkgroupMemoryShift = 8, 606b8e80941Smrg SpvMemorySemanticsCrossWorkgroupMemoryShift = 9, 607b8e80941Smrg SpvMemorySemanticsAtomicCounterMemoryShift = 10, 608b8e80941Smrg SpvMemorySemanticsImageMemoryShift = 11, 609b8e80941Smrg SpvMemorySemanticsOutputMemoryKHRShift = 12, 610b8e80941Smrg SpvMemorySemanticsMakeAvailableKHRShift = 13, 611b8e80941Smrg SpvMemorySemanticsMakeVisibleKHRShift = 14, 612b8e80941Smrg SpvMemorySemanticsMax = 0x7fffffff, 613b8e80941Smrg} SpvMemorySemanticsShift; 614b8e80941Smrg 615b8e80941Smrgtypedef enum SpvMemorySemanticsMask_ { 616b8e80941Smrg SpvMemorySemanticsMaskNone = 0, 617b8e80941Smrg SpvMemorySemanticsAcquireMask = 0x00000002, 618b8e80941Smrg SpvMemorySemanticsReleaseMask = 0x00000004, 619b8e80941Smrg SpvMemorySemanticsAcquireReleaseMask = 0x00000008, 620b8e80941Smrg SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010, 621b8e80941Smrg SpvMemorySemanticsUniformMemoryMask = 0x00000040, 622b8e80941Smrg SpvMemorySemanticsSubgroupMemoryMask = 0x00000080, 623b8e80941Smrg SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100, 624b8e80941Smrg SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200, 625b8e80941Smrg SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400, 626b8e80941Smrg SpvMemorySemanticsImageMemoryMask = 0x00000800, 627b8e80941Smrg SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000, 628b8e80941Smrg SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000, 629b8e80941Smrg SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000, 630b8e80941Smrg} SpvMemorySemanticsMask; 631b8e80941Smrg 632b8e80941Smrgtypedef enum SpvMemoryAccessShift_ { 633b8e80941Smrg SpvMemoryAccessVolatileShift = 0, 634b8e80941Smrg SpvMemoryAccessAlignedShift = 1, 635b8e80941Smrg SpvMemoryAccessNontemporalShift = 2, 636b8e80941Smrg SpvMemoryAccessMakePointerAvailableKHRShift = 3, 637b8e80941Smrg SpvMemoryAccessMakePointerVisibleKHRShift = 4, 638b8e80941Smrg SpvMemoryAccessNonPrivatePointerKHRShift = 5, 639b8e80941Smrg SpvMemoryAccessMax = 0x7fffffff, 640b8e80941Smrg} SpvMemoryAccessShift; 641b8e80941Smrg 642b8e80941Smrgtypedef enum SpvMemoryAccessMask_ { 643b8e80941Smrg SpvMemoryAccessMaskNone = 0, 644b8e80941Smrg SpvMemoryAccessVolatileMask = 0x00000001, 645b8e80941Smrg SpvMemoryAccessAlignedMask = 0x00000002, 646b8e80941Smrg SpvMemoryAccessNontemporalMask = 0x00000004, 647b8e80941Smrg SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008, 648b8e80941Smrg SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010, 649b8e80941Smrg SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020, 650b8e80941Smrg} SpvMemoryAccessMask; 651b8e80941Smrg 652b8e80941Smrgtypedef enum SpvScope_ { 653b8e80941Smrg SpvScopeCrossDevice = 0, 654b8e80941Smrg SpvScopeDevice = 1, 655b8e80941Smrg SpvScopeWorkgroup = 2, 656b8e80941Smrg SpvScopeSubgroup = 3, 657b8e80941Smrg SpvScopeInvocation = 4, 658b8e80941Smrg SpvScopeQueueFamilyKHR = 5, 659b8e80941Smrg SpvScopeMax = 0x7fffffff, 660b8e80941Smrg} SpvScope; 661b8e80941Smrg 662b8e80941Smrgtypedef enum SpvGroupOperation_ { 663b8e80941Smrg SpvGroupOperationReduce = 0, 664b8e80941Smrg SpvGroupOperationInclusiveScan = 1, 665b8e80941Smrg SpvGroupOperationExclusiveScan = 2, 666b8e80941Smrg SpvGroupOperationClusteredReduce = 3, 667b8e80941Smrg SpvGroupOperationPartitionedReduceNV = 6, 668b8e80941Smrg SpvGroupOperationPartitionedInclusiveScanNV = 7, 669b8e80941Smrg SpvGroupOperationPartitionedExclusiveScanNV = 8, 670b8e80941Smrg SpvGroupOperationMax = 0x7fffffff, 671b8e80941Smrg} SpvGroupOperation; 672b8e80941Smrg 673b8e80941Smrgtypedef enum SpvKernelEnqueueFlags_ { 674b8e80941Smrg SpvKernelEnqueueFlagsNoWait = 0, 675b8e80941Smrg SpvKernelEnqueueFlagsWaitKernel = 1, 676b8e80941Smrg SpvKernelEnqueueFlagsWaitWorkGroup = 2, 677b8e80941Smrg SpvKernelEnqueueFlagsMax = 0x7fffffff, 678b8e80941Smrg} SpvKernelEnqueueFlags; 679b8e80941Smrg 680b8e80941Smrgtypedef enum SpvKernelProfilingInfoShift_ { 681b8e80941Smrg SpvKernelProfilingInfoCmdExecTimeShift = 0, 682b8e80941Smrg SpvKernelProfilingInfoMax = 0x7fffffff, 683b8e80941Smrg} SpvKernelProfilingInfoShift; 684b8e80941Smrg 685b8e80941Smrgtypedef enum SpvKernelProfilingInfoMask_ { 686b8e80941Smrg SpvKernelProfilingInfoMaskNone = 0, 687b8e80941Smrg SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001, 688b8e80941Smrg} SpvKernelProfilingInfoMask; 689b8e80941Smrg 690b8e80941Smrgtypedef enum SpvCapability_ { 691b8e80941Smrg SpvCapabilityMatrix = 0, 692b8e80941Smrg SpvCapabilityShader = 1, 693b8e80941Smrg SpvCapabilityGeometry = 2, 694b8e80941Smrg SpvCapabilityTessellation = 3, 695b8e80941Smrg SpvCapabilityAddresses = 4, 696b8e80941Smrg SpvCapabilityLinkage = 5, 697b8e80941Smrg SpvCapabilityKernel = 6, 698b8e80941Smrg SpvCapabilityVector16 = 7, 699b8e80941Smrg SpvCapabilityFloat16Buffer = 8, 700b8e80941Smrg SpvCapabilityFloat16 = 9, 701b8e80941Smrg SpvCapabilityFloat64 = 10, 702b8e80941Smrg SpvCapabilityInt64 = 11, 703b8e80941Smrg SpvCapabilityInt64Atomics = 12, 704b8e80941Smrg SpvCapabilityImageBasic = 13, 705b8e80941Smrg SpvCapabilityImageReadWrite = 14, 706b8e80941Smrg SpvCapabilityImageMipmap = 15, 707b8e80941Smrg SpvCapabilityPipes = 17, 708b8e80941Smrg SpvCapabilityGroups = 18, 709b8e80941Smrg SpvCapabilityDeviceEnqueue = 19, 710b8e80941Smrg SpvCapabilityLiteralSampler = 20, 711b8e80941Smrg SpvCapabilityAtomicStorage = 21, 712b8e80941Smrg SpvCapabilityInt16 = 22, 713b8e80941Smrg SpvCapabilityTessellationPointSize = 23, 714b8e80941Smrg SpvCapabilityGeometryPointSize = 24, 715b8e80941Smrg SpvCapabilityImageGatherExtended = 25, 716b8e80941Smrg SpvCapabilityStorageImageMultisample = 27, 717b8e80941Smrg SpvCapabilityUniformBufferArrayDynamicIndexing = 28, 718b8e80941Smrg SpvCapabilitySampledImageArrayDynamicIndexing = 29, 719b8e80941Smrg SpvCapabilityStorageBufferArrayDynamicIndexing = 30, 720b8e80941Smrg SpvCapabilityStorageImageArrayDynamicIndexing = 31, 721b8e80941Smrg SpvCapabilityClipDistance = 32, 722b8e80941Smrg SpvCapabilityCullDistance = 33, 723b8e80941Smrg SpvCapabilityImageCubeArray = 34, 724b8e80941Smrg SpvCapabilitySampleRateShading = 35, 725b8e80941Smrg SpvCapabilityImageRect = 36, 726b8e80941Smrg SpvCapabilitySampledRect = 37, 727b8e80941Smrg SpvCapabilityGenericPointer = 38, 728b8e80941Smrg SpvCapabilityInt8 = 39, 729b8e80941Smrg SpvCapabilityInputAttachment = 40, 730b8e80941Smrg SpvCapabilitySparseResidency = 41, 731b8e80941Smrg SpvCapabilityMinLod = 42, 732b8e80941Smrg SpvCapabilitySampled1D = 43, 733b8e80941Smrg SpvCapabilityImage1D = 44, 734b8e80941Smrg SpvCapabilitySampledCubeArray = 45, 735b8e80941Smrg SpvCapabilitySampledBuffer = 46, 736b8e80941Smrg SpvCapabilityImageBuffer = 47, 737b8e80941Smrg SpvCapabilityImageMSArray = 48, 738b8e80941Smrg SpvCapabilityStorageImageExtendedFormats = 49, 739b8e80941Smrg SpvCapabilityImageQuery = 50, 740b8e80941Smrg SpvCapabilityDerivativeControl = 51, 741b8e80941Smrg SpvCapabilityInterpolationFunction = 52, 742b8e80941Smrg SpvCapabilityTransformFeedback = 53, 743b8e80941Smrg SpvCapabilityGeometryStreams = 54, 744b8e80941Smrg SpvCapabilityStorageImageReadWithoutFormat = 55, 745b8e80941Smrg SpvCapabilityStorageImageWriteWithoutFormat = 56, 746b8e80941Smrg SpvCapabilityMultiViewport = 57, 747b8e80941Smrg SpvCapabilitySubgroupDispatch = 58, 748b8e80941Smrg SpvCapabilityNamedBarrier = 59, 749b8e80941Smrg SpvCapabilityPipeStorage = 60, 750b8e80941Smrg SpvCapabilityGroupNonUniform = 61, 751b8e80941Smrg SpvCapabilityGroupNonUniformVote = 62, 752b8e80941Smrg SpvCapabilityGroupNonUniformArithmetic = 63, 753b8e80941Smrg SpvCapabilityGroupNonUniformBallot = 64, 754b8e80941Smrg SpvCapabilityGroupNonUniformShuffle = 65, 755b8e80941Smrg SpvCapabilityGroupNonUniformShuffleRelative = 66, 756b8e80941Smrg SpvCapabilityGroupNonUniformClustered = 67, 757b8e80941Smrg SpvCapabilityGroupNonUniformQuad = 68, 758b8e80941Smrg SpvCapabilitySubgroupBallotKHR = 4423, 759b8e80941Smrg SpvCapabilityDrawParameters = 4427, 760b8e80941Smrg SpvCapabilitySubgroupVoteKHR = 4431, 761b8e80941Smrg SpvCapabilityStorageBuffer16BitAccess = 4433, 762b8e80941Smrg SpvCapabilityStorageUniformBufferBlock16 = 4433, 763b8e80941Smrg SpvCapabilityStorageUniform16 = 4434, 764b8e80941Smrg SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434, 765b8e80941Smrg SpvCapabilityStoragePushConstant16 = 4435, 766b8e80941Smrg SpvCapabilityStorageInputOutput16 = 4436, 767b8e80941Smrg SpvCapabilityDeviceGroup = 4437, 768b8e80941Smrg SpvCapabilityMultiView = 4439, 769b8e80941Smrg SpvCapabilityVariablePointersStorageBuffer = 4441, 770b8e80941Smrg SpvCapabilityVariablePointers = 4442, 771b8e80941Smrg SpvCapabilityAtomicStorageOps = 4445, 772b8e80941Smrg SpvCapabilitySampleMaskPostDepthCoverage = 4447, 773b8e80941Smrg SpvCapabilityStorageBuffer8BitAccess = 4448, 774b8e80941Smrg SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449, 775b8e80941Smrg SpvCapabilityStoragePushConstant8 = 4450, 776b8e80941Smrg SpvCapabilityDenormPreserve = 4464, 777b8e80941Smrg SpvCapabilityDenormFlushToZero = 4465, 778b8e80941Smrg SpvCapabilitySignedZeroInfNanPreserve = 4466, 779b8e80941Smrg SpvCapabilityRoundingModeRTE = 4467, 780b8e80941Smrg SpvCapabilityRoundingModeRTZ = 4468, 781b8e80941Smrg SpvCapabilityFloat16ImageAMD = 5008, 782b8e80941Smrg SpvCapabilityImageGatherBiasLodAMD = 5009, 783b8e80941Smrg SpvCapabilityFragmentMaskAMD = 5010, 784b8e80941Smrg SpvCapabilityStencilExportEXT = 5013, 785b8e80941Smrg SpvCapabilityImageReadWriteLodAMD = 5015, 786b8e80941Smrg SpvCapabilitySampleMaskOverrideCoverageNV = 5249, 787b8e80941Smrg SpvCapabilityGeometryShaderPassthroughNV = 5251, 788b8e80941Smrg SpvCapabilityShaderViewportIndexLayerEXT = 5254, 789b8e80941Smrg SpvCapabilityShaderViewportIndexLayerNV = 5254, 790b8e80941Smrg SpvCapabilityShaderViewportMaskNV = 5255, 791b8e80941Smrg SpvCapabilityShaderStereoViewNV = 5259, 792b8e80941Smrg SpvCapabilityPerViewAttributesNV = 5260, 793b8e80941Smrg SpvCapabilityFragmentFullyCoveredEXT = 5265, 794b8e80941Smrg SpvCapabilityMeshShadingNV = 5266, 795b8e80941Smrg SpvCapabilityImageFootprintNV = 5282, 796b8e80941Smrg SpvCapabilityFragmentBarycentricNV = 5284, 797b8e80941Smrg SpvCapabilityComputeDerivativeGroupQuadsNV = 5288, 798b8e80941Smrg SpvCapabilityFragmentDensityEXT = 5291, 799b8e80941Smrg SpvCapabilityShadingRateNV = 5291, 800b8e80941Smrg SpvCapabilityGroupNonUniformPartitionedNV = 5297, 801b8e80941Smrg SpvCapabilityShaderNonUniformEXT = 5301, 802b8e80941Smrg SpvCapabilityRuntimeDescriptorArrayEXT = 5302, 803b8e80941Smrg SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303, 804b8e80941Smrg SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304, 805b8e80941Smrg SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305, 806b8e80941Smrg SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306, 807b8e80941Smrg SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307, 808b8e80941Smrg SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308, 809b8e80941Smrg SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309, 810b8e80941Smrg SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310, 811b8e80941Smrg SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311, 812b8e80941Smrg SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312, 813b8e80941Smrg SpvCapabilityRayTracingNV = 5340, 814b8e80941Smrg SpvCapabilityVulkanMemoryModelKHR = 5345, 815b8e80941Smrg SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346, 816b8e80941Smrg SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347, 817b8e80941Smrg SpvCapabilityComputeDerivativeGroupLinearNV = 5350, 818b8e80941Smrg SpvCapabilitySubgroupShuffleINTEL = 5568, 819b8e80941Smrg SpvCapabilitySubgroupBufferBlockIOINTEL = 5569, 820b8e80941Smrg SpvCapabilitySubgroupImageBlockIOINTEL = 5570, 821b8e80941Smrg SpvCapabilityMax = 0x7fffffff, 822b8e80941Smrg} SpvCapability; 823b8e80941Smrg 824b8e80941Smrgtypedef enum SpvOp_ { 825b8e80941Smrg SpvOpNop = 0, 826b8e80941Smrg SpvOpUndef = 1, 827b8e80941Smrg SpvOpSourceContinued = 2, 828b8e80941Smrg SpvOpSource = 3, 829b8e80941Smrg SpvOpSourceExtension = 4, 830b8e80941Smrg SpvOpName = 5, 831b8e80941Smrg SpvOpMemberName = 6, 832b8e80941Smrg SpvOpString = 7, 833b8e80941Smrg SpvOpLine = 8, 834b8e80941Smrg SpvOpExtension = 10, 835b8e80941Smrg SpvOpExtInstImport = 11, 836b8e80941Smrg SpvOpExtInst = 12, 837b8e80941Smrg SpvOpMemoryModel = 14, 838b8e80941Smrg SpvOpEntryPoint = 15, 839b8e80941Smrg SpvOpExecutionMode = 16, 840b8e80941Smrg SpvOpCapability = 17, 841b8e80941Smrg SpvOpTypeVoid = 19, 842b8e80941Smrg SpvOpTypeBool = 20, 843b8e80941Smrg SpvOpTypeInt = 21, 844b8e80941Smrg SpvOpTypeFloat = 22, 845b8e80941Smrg SpvOpTypeVector = 23, 846b8e80941Smrg SpvOpTypeMatrix = 24, 847b8e80941Smrg SpvOpTypeImage = 25, 848b8e80941Smrg SpvOpTypeSampler = 26, 849b8e80941Smrg SpvOpTypeSampledImage = 27, 850b8e80941Smrg SpvOpTypeArray = 28, 851b8e80941Smrg SpvOpTypeRuntimeArray = 29, 852b8e80941Smrg SpvOpTypeStruct = 30, 853b8e80941Smrg SpvOpTypeOpaque = 31, 854b8e80941Smrg SpvOpTypePointer = 32, 855b8e80941Smrg SpvOpTypeFunction = 33, 856b8e80941Smrg SpvOpTypeEvent = 34, 857b8e80941Smrg SpvOpTypeDeviceEvent = 35, 858b8e80941Smrg SpvOpTypeReserveId = 36, 859b8e80941Smrg SpvOpTypeQueue = 37, 860b8e80941Smrg SpvOpTypePipe = 38, 861b8e80941Smrg SpvOpTypeForwardPointer = 39, 862b8e80941Smrg SpvOpConstantTrue = 41, 863b8e80941Smrg SpvOpConstantFalse = 42, 864b8e80941Smrg SpvOpConstant = 43, 865b8e80941Smrg SpvOpConstantComposite = 44, 866b8e80941Smrg SpvOpConstantSampler = 45, 867b8e80941Smrg SpvOpConstantNull = 46, 868b8e80941Smrg SpvOpSpecConstantTrue = 48, 869b8e80941Smrg SpvOpSpecConstantFalse = 49, 870b8e80941Smrg SpvOpSpecConstant = 50, 871b8e80941Smrg SpvOpSpecConstantComposite = 51, 872b8e80941Smrg SpvOpSpecConstantOp = 52, 873b8e80941Smrg SpvOpFunction = 54, 874b8e80941Smrg SpvOpFunctionParameter = 55, 875b8e80941Smrg SpvOpFunctionEnd = 56, 876b8e80941Smrg SpvOpFunctionCall = 57, 877b8e80941Smrg SpvOpVariable = 59, 878b8e80941Smrg SpvOpImageTexelPointer = 60, 879b8e80941Smrg SpvOpLoad = 61, 880b8e80941Smrg SpvOpStore = 62, 881b8e80941Smrg SpvOpCopyMemory = 63, 882b8e80941Smrg SpvOpCopyMemorySized = 64, 883b8e80941Smrg SpvOpAccessChain = 65, 884b8e80941Smrg SpvOpInBoundsAccessChain = 66, 885b8e80941Smrg SpvOpPtrAccessChain = 67, 886b8e80941Smrg SpvOpArrayLength = 68, 887b8e80941Smrg SpvOpGenericPtrMemSemantics = 69, 888b8e80941Smrg SpvOpInBoundsPtrAccessChain = 70, 889b8e80941Smrg SpvOpDecorate = 71, 890b8e80941Smrg SpvOpMemberDecorate = 72, 891b8e80941Smrg SpvOpDecorationGroup = 73, 892b8e80941Smrg SpvOpGroupDecorate = 74, 893b8e80941Smrg SpvOpGroupMemberDecorate = 75, 894b8e80941Smrg SpvOpVectorExtractDynamic = 77, 895b8e80941Smrg SpvOpVectorInsertDynamic = 78, 896b8e80941Smrg SpvOpVectorShuffle = 79, 897b8e80941Smrg SpvOpCompositeConstruct = 80, 898b8e80941Smrg SpvOpCompositeExtract = 81, 899b8e80941Smrg SpvOpCompositeInsert = 82, 900b8e80941Smrg SpvOpCopyObject = 83, 901b8e80941Smrg SpvOpTranspose = 84, 902b8e80941Smrg SpvOpSampledImage = 86, 903b8e80941Smrg SpvOpImageSampleImplicitLod = 87, 904b8e80941Smrg SpvOpImageSampleExplicitLod = 88, 905b8e80941Smrg SpvOpImageSampleDrefImplicitLod = 89, 906b8e80941Smrg SpvOpImageSampleDrefExplicitLod = 90, 907b8e80941Smrg SpvOpImageSampleProjImplicitLod = 91, 908b8e80941Smrg SpvOpImageSampleProjExplicitLod = 92, 909b8e80941Smrg SpvOpImageSampleProjDrefImplicitLod = 93, 910b8e80941Smrg SpvOpImageSampleProjDrefExplicitLod = 94, 911b8e80941Smrg SpvOpImageFetch = 95, 912b8e80941Smrg SpvOpImageGather = 96, 913b8e80941Smrg SpvOpImageDrefGather = 97, 914b8e80941Smrg SpvOpImageRead = 98, 915b8e80941Smrg SpvOpImageWrite = 99, 916b8e80941Smrg SpvOpImage = 100, 917b8e80941Smrg SpvOpImageQueryFormat = 101, 918b8e80941Smrg SpvOpImageQueryOrder = 102, 919b8e80941Smrg SpvOpImageQuerySizeLod = 103, 920b8e80941Smrg SpvOpImageQuerySize = 104, 921b8e80941Smrg SpvOpImageQueryLod = 105, 922b8e80941Smrg SpvOpImageQueryLevels = 106, 923b8e80941Smrg SpvOpImageQuerySamples = 107, 924b8e80941Smrg SpvOpConvertFToU = 109, 925b8e80941Smrg SpvOpConvertFToS = 110, 926b8e80941Smrg SpvOpConvertSToF = 111, 927b8e80941Smrg SpvOpConvertUToF = 112, 928b8e80941Smrg SpvOpUConvert = 113, 929b8e80941Smrg SpvOpSConvert = 114, 930b8e80941Smrg SpvOpFConvert = 115, 931b8e80941Smrg SpvOpQuantizeToF16 = 116, 932b8e80941Smrg SpvOpConvertPtrToU = 117, 933b8e80941Smrg SpvOpSatConvertSToU = 118, 934b8e80941Smrg SpvOpSatConvertUToS = 119, 935b8e80941Smrg SpvOpConvertUToPtr = 120, 936b8e80941Smrg SpvOpPtrCastToGeneric = 121, 937b8e80941Smrg SpvOpGenericCastToPtr = 122, 938b8e80941Smrg SpvOpGenericCastToPtrExplicit = 123, 939b8e80941Smrg SpvOpBitcast = 124, 940b8e80941Smrg SpvOpSNegate = 126, 941b8e80941Smrg SpvOpFNegate = 127, 942b8e80941Smrg SpvOpIAdd = 128, 943b8e80941Smrg SpvOpFAdd = 129, 944b8e80941Smrg SpvOpISub = 130, 945b8e80941Smrg SpvOpFSub = 131, 946b8e80941Smrg SpvOpIMul = 132, 947b8e80941Smrg SpvOpFMul = 133, 948b8e80941Smrg SpvOpUDiv = 134, 949b8e80941Smrg SpvOpSDiv = 135, 950b8e80941Smrg SpvOpFDiv = 136, 951b8e80941Smrg SpvOpUMod = 137, 952b8e80941Smrg SpvOpSRem = 138, 953b8e80941Smrg SpvOpSMod = 139, 954b8e80941Smrg SpvOpFRem = 140, 955b8e80941Smrg SpvOpFMod = 141, 956b8e80941Smrg SpvOpVectorTimesScalar = 142, 957b8e80941Smrg SpvOpMatrixTimesScalar = 143, 958b8e80941Smrg SpvOpVectorTimesMatrix = 144, 959b8e80941Smrg SpvOpMatrixTimesVector = 145, 960b8e80941Smrg SpvOpMatrixTimesMatrix = 146, 961b8e80941Smrg SpvOpOuterProduct = 147, 962b8e80941Smrg SpvOpDot = 148, 963b8e80941Smrg SpvOpIAddCarry = 149, 964b8e80941Smrg SpvOpISubBorrow = 150, 965b8e80941Smrg SpvOpUMulExtended = 151, 966b8e80941Smrg SpvOpSMulExtended = 152, 967b8e80941Smrg SpvOpAny = 154, 968b8e80941Smrg SpvOpAll = 155, 969b8e80941Smrg SpvOpIsNan = 156, 970b8e80941Smrg SpvOpIsInf = 157, 971b8e80941Smrg SpvOpIsFinite = 158, 972b8e80941Smrg SpvOpIsNormal = 159, 973b8e80941Smrg SpvOpSignBitSet = 160, 974b8e80941Smrg SpvOpLessOrGreater = 161, 975b8e80941Smrg SpvOpOrdered = 162, 976b8e80941Smrg SpvOpUnordered = 163, 977b8e80941Smrg SpvOpLogicalEqual = 164, 978b8e80941Smrg SpvOpLogicalNotEqual = 165, 979b8e80941Smrg SpvOpLogicalOr = 166, 980b8e80941Smrg SpvOpLogicalAnd = 167, 981b8e80941Smrg SpvOpLogicalNot = 168, 982b8e80941Smrg SpvOpSelect = 169, 983b8e80941Smrg SpvOpIEqual = 170, 984b8e80941Smrg SpvOpINotEqual = 171, 985b8e80941Smrg SpvOpUGreaterThan = 172, 986b8e80941Smrg SpvOpSGreaterThan = 173, 987b8e80941Smrg SpvOpUGreaterThanEqual = 174, 988b8e80941Smrg SpvOpSGreaterThanEqual = 175, 989b8e80941Smrg SpvOpULessThan = 176, 990b8e80941Smrg SpvOpSLessThan = 177, 991b8e80941Smrg SpvOpULessThanEqual = 178, 992b8e80941Smrg SpvOpSLessThanEqual = 179, 993b8e80941Smrg SpvOpFOrdEqual = 180, 994b8e80941Smrg SpvOpFUnordEqual = 181, 995b8e80941Smrg SpvOpFOrdNotEqual = 182, 996b8e80941Smrg SpvOpFUnordNotEqual = 183, 997b8e80941Smrg SpvOpFOrdLessThan = 184, 998b8e80941Smrg SpvOpFUnordLessThan = 185, 999b8e80941Smrg SpvOpFOrdGreaterThan = 186, 1000b8e80941Smrg SpvOpFUnordGreaterThan = 187, 1001b8e80941Smrg SpvOpFOrdLessThanEqual = 188, 1002b8e80941Smrg SpvOpFUnordLessThanEqual = 189, 1003b8e80941Smrg SpvOpFOrdGreaterThanEqual = 190, 1004b8e80941Smrg SpvOpFUnordGreaterThanEqual = 191, 1005b8e80941Smrg SpvOpShiftRightLogical = 194, 1006b8e80941Smrg SpvOpShiftRightArithmetic = 195, 1007b8e80941Smrg SpvOpShiftLeftLogical = 196, 1008b8e80941Smrg SpvOpBitwiseOr = 197, 1009b8e80941Smrg SpvOpBitwiseXor = 198, 1010b8e80941Smrg SpvOpBitwiseAnd = 199, 1011b8e80941Smrg SpvOpNot = 200, 1012b8e80941Smrg SpvOpBitFieldInsert = 201, 1013b8e80941Smrg SpvOpBitFieldSExtract = 202, 1014b8e80941Smrg SpvOpBitFieldUExtract = 203, 1015b8e80941Smrg SpvOpBitReverse = 204, 1016b8e80941Smrg SpvOpBitCount = 205, 1017b8e80941Smrg SpvOpDPdx = 207, 1018b8e80941Smrg SpvOpDPdy = 208, 1019b8e80941Smrg SpvOpFwidth = 209, 1020b8e80941Smrg SpvOpDPdxFine = 210, 1021b8e80941Smrg SpvOpDPdyFine = 211, 1022b8e80941Smrg SpvOpFwidthFine = 212, 1023b8e80941Smrg SpvOpDPdxCoarse = 213, 1024b8e80941Smrg SpvOpDPdyCoarse = 214, 1025b8e80941Smrg SpvOpFwidthCoarse = 215, 1026b8e80941Smrg SpvOpEmitVertex = 218, 1027b8e80941Smrg SpvOpEndPrimitive = 219, 1028b8e80941Smrg SpvOpEmitStreamVertex = 220, 1029b8e80941Smrg SpvOpEndStreamPrimitive = 221, 1030b8e80941Smrg SpvOpControlBarrier = 224, 1031b8e80941Smrg SpvOpMemoryBarrier = 225, 1032b8e80941Smrg SpvOpAtomicLoad = 227, 1033b8e80941Smrg SpvOpAtomicStore = 228, 1034b8e80941Smrg SpvOpAtomicExchange = 229, 1035b8e80941Smrg SpvOpAtomicCompareExchange = 230, 1036b8e80941Smrg SpvOpAtomicCompareExchangeWeak = 231, 1037b8e80941Smrg SpvOpAtomicIIncrement = 232, 1038b8e80941Smrg SpvOpAtomicIDecrement = 233, 1039b8e80941Smrg SpvOpAtomicIAdd = 234, 1040b8e80941Smrg SpvOpAtomicISub = 235, 1041b8e80941Smrg SpvOpAtomicSMin = 236, 1042b8e80941Smrg SpvOpAtomicUMin = 237, 1043b8e80941Smrg SpvOpAtomicSMax = 238, 1044b8e80941Smrg SpvOpAtomicUMax = 239, 1045b8e80941Smrg SpvOpAtomicAnd = 240, 1046b8e80941Smrg SpvOpAtomicOr = 241, 1047b8e80941Smrg SpvOpAtomicXor = 242, 1048b8e80941Smrg SpvOpPhi = 245, 1049b8e80941Smrg SpvOpLoopMerge = 246, 1050b8e80941Smrg SpvOpSelectionMerge = 247, 1051b8e80941Smrg SpvOpLabel = 248, 1052b8e80941Smrg SpvOpBranch = 249, 1053b8e80941Smrg SpvOpBranchConditional = 250, 1054b8e80941Smrg SpvOpSwitch = 251, 1055b8e80941Smrg SpvOpKill = 252, 1056b8e80941Smrg SpvOpReturn = 253, 1057b8e80941Smrg SpvOpReturnValue = 254, 1058b8e80941Smrg SpvOpUnreachable = 255, 1059b8e80941Smrg SpvOpLifetimeStart = 256, 1060b8e80941Smrg SpvOpLifetimeStop = 257, 1061b8e80941Smrg SpvOpGroupAsyncCopy = 259, 1062b8e80941Smrg SpvOpGroupWaitEvents = 260, 1063b8e80941Smrg SpvOpGroupAll = 261, 1064b8e80941Smrg SpvOpGroupAny = 262, 1065b8e80941Smrg SpvOpGroupBroadcast = 263, 1066b8e80941Smrg SpvOpGroupIAdd = 264, 1067b8e80941Smrg SpvOpGroupFAdd = 265, 1068b8e80941Smrg SpvOpGroupFMin = 266, 1069b8e80941Smrg SpvOpGroupUMin = 267, 1070b8e80941Smrg SpvOpGroupSMin = 268, 1071b8e80941Smrg SpvOpGroupFMax = 269, 1072b8e80941Smrg SpvOpGroupUMax = 270, 1073b8e80941Smrg SpvOpGroupSMax = 271, 1074b8e80941Smrg SpvOpReadPipe = 274, 1075b8e80941Smrg SpvOpWritePipe = 275, 1076b8e80941Smrg SpvOpReservedReadPipe = 276, 1077b8e80941Smrg SpvOpReservedWritePipe = 277, 1078b8e80941Smrg SpvOpReserveReadPipePackets = 278, 1079b8e80941Smrg SpvOpReserveWritePipePackets = 279, 1080b8e80941Smrg SpvOpCommitReadPipe = 280, 1081b8e80941Smrg SpvOpCommitWritePipe = 281, 1082b8e80941Smrg SpvOpIsValidReserveId = 282, 1083b8e80941Smrg SpvOpGetNumPipePackets = 283, 1084b8e80941Smrg SpvOpGetMaxPipePackets = 284, 1085b8e80941Smrg SpvOpGroupReserveReadPipePackets = 285, 1086b8e80941Smrg SpvOpGroupReserveWritePipePackets = 286, 1087b8e80941Smrg SpvOpGroupCommitReadPipe = 287, 1088b8e80941Smrg SpvOpGroupCommitWritePipe = 288, 1089b8e80941Smrg SpvOpEnqueueMarker = 291, 1090b8e80941Smrg SpvOpEnqueueKernel = 292, 1091b8e80941Smrg SpvOpGetKernelNDrangeSubGroupCount = 293, 1092b8e80941Smrg SpvOpGetKernelNDrangeMaxSubGroupSize = 294, 1093b8e80941Smrg SpvOpGetKernelWorkGroupSize = 295, 1094b8e80941Smrg SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296, 1095b8e80941Smrg SpvOpRetainEvent = 297, 1096b8e80941Smrg SpvOpReleaseEvent = 298, 1097b8e80941Smrg SpvOpCreateUserEvent = 299, 1098b8e80941Smrg SpvOpIsValidEvent = 300, 1099b8e80941Smrg SpvOpSetUserEventStatus = 301, 1100b8e80941Smrg SpvOpCaptureEventProfilingInfo = 302, 1101b8e80941Smrg SpvOpGetDefaultQueue = 303, 1102b8e80941Smrg SpvOpBuildNDRange = 304, 1103b8e80941Smrg SpvOpImageSparseSampleImplicitLod = 305, 1104b8e80941Smrg SpvOpImageSparseSampleExplicitLod = 306, 1105b8e80941Smrg SpvOpImageSparseSampleDrefImplicitLod = 307, 1106b8e80941Smrg SpvOpImageSparseSampleDrefExplicitLod = 308, 1107b8e80941Smrg SpvOpImageSparseSampleProjImplicitLod = 309, 1108b8e80941Smrg SpvOpImageSparseSampleProjExplicitLod = 310, 1109b8e80941Smrg SpvOpImageSparseSampleProjDrefImplicitLod = 311, 1110b8e80941Smrg SpvOpImageSparseSampleProjDrefExplicitLod = 312, 1111b8e80941Smrg SpvOpImageSparseFetch = 313, 1112b8e80941Smrg SpvOpImageSparseGather = 314, 1113b8e80941Smrg SpvOpImageSparseDrefGather = 315, 1114b8e80941Smrg SpvOpImageSparseTexelsResident = 316, 1115b8e80941Smrg SpvOpNoLine = 317, 1116b8e80941Smrg SpvOpAtomicFlagTestAndSet = 318, 1117b8e80941Smrg SpvOpAtomicFlagClear = 319, 1118b8e80941Smrg SpvOpImageSparseRead = 320, 1119b8e80941Smrg SpvOpSizeOf = 321, 1120b8e80941Smrg SpvOpTypePipeStorage = 322, 1121b8e80941Smrg SpvOpConstantPipeStorage = 323, 1122b8e80941Smrg SpvOpCreatePipeFromPipeStorage = 324, 1123b8e80941Smrg SpvOpGetKernelLocalSizeForSubgroupCount = 325, 1124b8e80941Smrg SpvOpGetKernelMaxNumSubgroups = 326, 1125b8e80941Smrg SpvOpTypeNamedBarrier = 327, 1126b8e80941Smrg SpvOpNamedBarrierInitialize = 328, 1127b8e80941Smrg SpvOpMemoryNamedBarrier = 329, 1128b8e80941Smrg SpvOpModuleProcessed = 330, 1129b8e80941Smrg SpvOpExecutionModeId = 331, 1130b8e80941Smrg SpvOpDecorateId = 332, 1131b8e80941Smrg SpvOpGroupNonUniformElect = 333, 1132b8e80941Smrg SpvOpGroupNonUniformAll = 334, 1133b8e80941Smrg SpvOpGroupNonUniformAny = 335, 1134b8e80941Smrg SpvOpGroupNonUniformAllEqual = 336, 1135b8e80941Smrg SpvOpGroupNonUniformBroadcast = 337, 1136b8e80941Smrg SpvOpGroupNonUniformBroadcastFirst = 338, 1137b8e80941Smrg SpvOpGroupNonUniformBallot = 339, 1138b8e80941Smrg SpvOpGroupNonUniformInverseBallot = 340, 1139b8e80941Smrg SpvOpGroupNonUniformBallotBitExtract = 341, 1140b8e80941Smrg SpvOpGroupNonUniformBallotBitCount = 342, 1141b8e80941Smrg SpvOpGroupNonUniformBallotFindLSB = 343, 1142b8e80941Smrg SpvOpGroupNonUniformBallotFindMSB = 344, 1143b8e80941Smrg SpvOpGroupNonUniformShuffle = 345, 1144b8e80941Smrg SpvOpGroupNonUniformShuffleXor = 346, 1145b8e80941Smrg SpvOpGroupNonUniformShuffleUp = 347, 1146b8e80941Smrg SpvOpGroupNonUniformShuffleDown = 348, 1147b8e80941Smrg SpvOpGroupNonUniformIAdd = 349, 1148b8e80941Smrg SpvOpGroupNonUniformFAdd = 350, 1149b8e80941Smrg SpvOpGroupNonUniformIMul = 351, 1150b8e80941Smrg SpvOpGroupNonUniformFMul = 352, 1151b8e80941Smrg SpvOpGroupNonUniformSMin = 353, 1152b8e80941Smrg SpvOpGroupNonUniformUMin = 354, 1153b8e80941Smrg SpvOpGroupNonUniformFMin = 355, 1154b8e80941Smrg SpvOpGroupNonUniformSMax = 356, 1155b8e80941Smrg SpvOpGroupNonUniformUMax = 357, 1156b8e80941Smrg SpvOpGroupNonUniformFMax = 358, 1157b8e80941Smrg SpvOpGroupNonUniformBitwiseAnd = 359, 1158b8e80941Smrg SpvOpGroupNonUniformBitwiseOr = 360, 1159b8e80941Smrg SpvOpGroupNonUniformBitwiseXor = 361, 1160b8e80941Smrg SpvOpGroupNonUniformLogicalAnd = 362, 1161b8e80941Smrg SpvOpGroupNonUniformLogicalOr = 363, 1162b8e80941Smrg SpvOpGroupNonUniformLogicalXor = 364, 1163b8e80941Smrg SpvOpGroupNonUniformQuadBroadcast = 365, 1164b8e80941Smrg SpvOpGroupNonUniformQuadSwap = 366, 1165b8e80941Smrg SpvOpSubgroupBallotKHR = 4421, 1166b8e80941Smrg SpvOpSubgroupFirstInvocationKHR = 4422, 1167b8e80941Smrg SpvOpSubgroupAllKHR = 4428, 1168b8e80941Smrg SpvOpSubgroupAnyKHR = 4429, 1169b8e80941Smrg SpvOpSubgroupAllEqualKHR = 4430, 1170b8e80941Smrg SpvOpSubgroupReadInvocationKHR = 4432, 1171b8e80941Smrg SpvOpGroupIAddNonUniformAMD = 5000, 1172b8e80941Smrg SpvOpGroupFAddNonUniformAMD = 5001, 1173b8e80941Smrg SpvOpGroupFMinNonUniformAMD = 5002, 1174b8e80941Smrg SpvOpGroupUMinNonUniformAMD = 5003, 1175b8e80941Smrg SpvOpGroupSMinNonUniformAMD = 5004, 1176b8e80941Smrg SpvOpGroupFMaxNonUniformAMD = 5005, 1177b8e80941Smrg SpvOpGroupUMaxNonUniformAMD = 5006, 1178b8e80941Smrg SpvOpGroupSMaxNonUniformAMD = 5007, 1179b8e80941Smrg SpvOpFragmentMaskFetchAMD = 5011, 1180b8e80941Smrg SpvOpFragmentFetchAMD = 5012, 1181b8e80941Smrg SpvOpImageSampleFootprintNV = 5283, 1182b8e80941Smrg SpvOpGroupNonUniformPartitionNV = 5296, 1183b8e80941Smrg SpvOpWritePackedPrimitiveIndices4x8NV = 5299, 1184b8e80941Smrg SpvOpReportIntersectionNV = 5334, 1185b8e80941Smrg SpvOpIgnoreIntersectionNV = 5335, 1186b8e80941Smrg SpvOpTerminateRayNV = 5336, 1187b8e80941Smrg SpvOpTraceNV = 5337, 1188b8e80941Smrg SpvOpTypeAccelerationStructureNV = 5341, 1189b8e80941Smrg SpvOpExecuteCallableNV = 5344, 1190b8e80941Smrg SpvOpSubgroupShuffleINTEL = 5571, 1191b8e80941Smrg SpvOpSubgroupShuffleDownINTEL = 5572, 1192b8e80941Smrg SpvOpSubgroupShuffleUpINTEL = 5573, 1193b8e80941Smrg SpvOpSubgroupShuffleXorINTEL = 5574, 1194b8e80941Smrg SpvOpSubgroupBlockReadINTEL = 5575, 1195b8e80941Smrg SpvOpSubgroupBlockWriteINTEL = 5576, 1196b8e80941Smrg SpvOpSubgroupImageBlockReadINTEL = 5577, 1197b8e80941Smrg SpvOpSubgroupImageBlockWriteINTEL = 5578, 1198b8e80941Smrg SpvOpDecorateStringGOOGLE = 5632, 1199b8e80941Smrg SpvOpMemberDecorateStringGOOGLE = 5633, 1200b8e80941Smrg SpvOpMax = 0x7fffffff, 1201b8e80941Smrg} SpvOp; 1202b8e80941Smrg 1203b8e80941Smrg#endif // #ifndef spirv_H 1204b8e80941Smrg 1205