spirv.lua 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949
  1. -- Copyright (c) 2014-2018 The Khronos Group Inc.
  2. --
  3. -- Permission is hereby granted, free of charge, to any person obtaining a copy
  4. -- of this software and/or associated documentation files (the "Materials"),
  5. -- to deal in the Materials without restriction, including without limitation
  6. -- the rights to use, copy, modify, merge, publish, distribute, sublicense,
  7. -- and/or sell copies of the Materials, and to permit persons to whom the
  8. -- Materials are furnished to do so, subject to the following conditions:
  9. --
  10. -- The above copyright notice and this permission notice shall be included in
  11. -- all copies or substantial portions of the Materials.
  12. --
  13. -- MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
  14. -- STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
  15. -- HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
  16. --
  17. -- THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  18. -- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19. -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  20. -- THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  21. -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  22. -- FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
  23. -- IN THE MATERIALS.
  24. -- This header is automatically generated by the same tool that creates
  25. -- the Binary Section of the SPIR-V specification.
  26. -- Enumeration tokens for SPIR-V, in various styles:
  27. -- C, C++, C++11, JSON, Lua, Python
  28. --
  29. -- - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
  30. -- - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
  31. -- - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
  32. -- - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
  33. -- - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
  34. --
  35. -- Some tokens act like mask values, which can be OR'd together,
  36. -- while others are mutually exclusive. The mask-like ones have
  37. -- "Mask" in their name, and a parallel enum that has the shift
  38. -- amount (1 << x) for each corresponding enumerant.
  39. spv = {
  40. MagicNumber = 0x07230203,
  41. Version = 0x00010000,
  42. Revision = 12,
  43. OpCodeMask = 0xffff,
  44. WordCountShift = 16,
  45. SourceLanguage = {
  46. Unknown = 0,
  47. ESSL = 1,
  48. GLSL = 2,
  49. OpenCL_C = 3,
  50. OpenCL_CPP = 4,
  51. HLSL = 5,
  52. },
  53. ExecutionModel = {
  54. Vertex = 0,
  55. TessellationControl = 1,
  56. TessellationEvaluation = 2,
  57. Geometry = 3,
  58. Fragment = 4,
  59. GLCompute = 5,
  60. Kernel = 6,
  61. },
  62. AddressingModel = {
  63. Logical = 0,
  64. Physical32 = 1,
  65. Physical64 = 2,
  66. },
  67. MemoryModel = {
  68. Simple = 0,
  69. GLSL450 = 1,
  70. OpenCL = 2,
  71. },
  72. ExecutionMode = {
  73. Invocations = 0,
  74. SpacingEqual = 1,
  75. SpacingFractionalEven = 2,
  76. SpacingFractionalOdd = 3,
  77. VertexOrderCw = 4,
  78. VertexOrderCcw = 5,
  79. PixelCenterInteger = 6,
  80. OriginUpperLeft = 7,
  81. OriginLowerLeft = 8,
  82. EarlyFragmentTests = 9,
  83. PointMode = 10,
  84. Xfb = 11,
  85. DepthReplacing = 12,
  86. DepthGreater = 14,
  87. DepthLess = 15,
  88. DepthUnchanged = 16,
  89. LocalSize = 17,
  90. LocalSizeHint = 18,
  91. InputPoints = 19,
  92. InputLines = 20,
  93. InputLinesAdjacency = 21,
  94. Triangles = 22,
  95. InputTrianglesAdjacency = 23,
  96. Quads = 24,
  97. Isolines = 25,
  98. OutputVertices = 26,
  99. OutputPoints = 27,
  100. OutputLineStrip = 28,
  101. OutputTriangleStrip = 29,
  102. VecTypeHint = 30,
  103. ContractionOff = 31,
  104. PostDepthCoverage = 4446,
  105. StencilRefReplacingEXT = 5027,
  106. },
  107. StorageClass = {
  108. UniformConstant = 0,
  109. Input = 1,
  110. Uniform = 2,
  111. Output = 3,
  112. Workgroup = 4,
  113. CrossWorkgroup = 5,
  114. Private = 6,
  115. Function = 7,
  116. Generic = 8,
  117. PushConstant = 9,
  118. AtomicCounter = 10,
  119. Image = 11,
  120. StorageBuffer = 12,
  121. },
  122. Dim = {
  123. Dim1D = 0,
  124. Dim2D = 1,
  125. Dim3D = 2,
  126. Cube = 3,
  127. Rect = 4,
  128. Buffer = 5,
  129. SubpassData = 6,
  130. },
  131. SamplerAddressingMode = {
  132. None = 0,
  133. ClampToEdge = 1,
  134. Clamp = 2,
  135. Repeat = 3,
  136. RepeatMirrored = 4,
  137. },
  138. SamplerFilterMode = {
  139. Nearest = 0,
  140. Linear = 1,
  141. },
  142. ImageFormat = {
  143. Unknown = 0,
  144. Rgba32f = 1,
  145. Rgba16f = 2,
  146. R32f = 3,
  147. Rgba8 = 4,
  148. Rgba8Snorm = 5,
  149. Rg32f = 6,
  150. Rg16f = 7,
  151. R11fG11fB10f = 8,
  152. R16f = 9,
  153. Rgba16 = 10,
  154. Rgb10A2 = 11,
  155. Rg16 = 12,
  156. Rg8 = 13,
  157. R16 = 14,
  158. R8 = 15,
  159. Rgba16Snorm = 16,
  160. Rg16Snorm = 17,
  161. Rg8Snorm = 18,
  162. R16Snorm = 19,
  163. R8Snorm = 20,
  164. Rgba32i = 21,
  165. Rgba16i = 22,
  166. Rgba8i = 23,
  167. R32i = 24,
  168. Rg32i = 25,
  169. Rg16i = 26,
  170. Rg8i = 27,
  171. R16i = 28,
  172. R8i = 29,
  173. Rgba32ui = 30,
  174. Rgba16ui = 31,
  175. Rgba8ui = 32,
  176. R32ui = 33,
  177. Rgb10a2ui = 34,
  178. Rg32ui = 35,
  179. Rg16ui = 36,
  180. Rg8ui = 37,
  181. R16ui = 38,
  182. R8ui = 39,
  183. },
  184. ImageChannelOrder = {
  185. R = 0,
  186. A = 1,
  187. RG = 2,
  188. RA = 3,
  189. RGB = 4,
  190. RGBA = 5,
  191. BGRA = 6,
  192. ARGB = 7,
  193. Intensity = 8,
  194. Luminance = 9,
  195. Rx = 10,
  196. RGx = 11,
  197. RGBx = 12,
  198. Depth = 13,
  199. DepthStencil = 14,
  200. sRGB = 15,
  201. sRGBx = 16,
  202. sRGBA = 17,
  203. sBGRA = 18,
  204. ABGR = 19,
  205. },
  206. ImageChannelDataType = {
  207. SnormInt8 = 0,
  208. SnormInt16 = 1,
  209. UnormInt8 = 2,
  210. UnormInt16 = 3,
  211. UnormShort565 = 4,
  212. UnormShort555 = 5,
  213. UnormInt101010 = 6,
  214. SignedInt8 = 7,
  215. SignedInt16 = 8,
  216. SignedInt32 = 9,
  217. UnsignedInt8 = 10,
  218. UnsignedInt16 = 11,
  219. UnsignedInt32 = 12,
  220. HalfFloat = 13,
  221. Float = 14,
  222. UnormInt24 = 15,
  223. UnormInt101010_2 = 16,
  224. },
  225. ImageOperandsShift = {
  226. Bias = 0,
  227. Lod = 1,
  228. Grad = 2,
  229. ConstOffset = 3,
  230. Offset = 4,
  231. ConstOffsets = 5,
  232. Sample = 6,
  233. MinLod = 7,
  234. },
  235. ImageOperandsMask = {
  236. MaskNone = 0,
  237. Bias = 0x00000001,
  238. Lod = 0x00000002,
  239. Grad = 0x00000004,
  240. ConstOffset = 0x00000008,
  241. Offset = 0x00000010,
  242. ConstOffsets = 0x00000020,
  243. Sample = 0x00000040,
  244. MinLod = 0x00000080,
  245. },
  246. FPFastMathModeShift = {
  247. NotNaN = 0,
  248. NotInf = 1,
  249. NSZ = 2,
  250. AllowRecip = 3,
  251. Fast = 4,
  252. },
  253. FPFastMathModeMask = {
  254. MaskNone = 0,
  255. NotNaN = 0x00000001,
  256. NotInf = 0x00000002,
  257. NSZ = 0x00000004,
  258. AllowRecip = 0x00000008,
  259. Fast = 0x00000010,
  260. },
  261. FPRoundingMode = {
  262. RTE = 0,
  263. RTZ = 1,
  264. RTP = 2,
  265. RTN = 3,
  266. },
  267. LinkageType = {
  268. Export = 0,
  269. Import = 1,
  270. },
  271. AccessQualifier = {
  272. ReadOnly = 0,
  273. WriteOnly = 1,
  274. ReadWrite = 2,
  275. },
  276. FunctionParameterAttribute = {
  277. Zext = 0,
  278. Sext = 1,
  279. ByVal = 2,
  280. Sret = 3,
  281. NoAlias = 4,
  282. NoCapture = 5,
  283. NoWrite = 6,
  284. NoReadWrite = 7,
  285. },
  286. Decoration = {
  287. RelaxedPrecision = 0,
  288. SpecId = 1,
  289. Block = 2,
  290. BufferBlock = 3,
  291. RowMajor = 4,
  292. ColMajor = 5,
  293. ArrayStride = 6,
  294. MatrixStride = 7,
  295. GLSLShared = 8,
  296. GLSLPacked = 9,
  297. CPacked = 10,
  298. BuiltIn = 11,
  299. NoPerspective = 13,
  300. Flat = 14,
  301. Patch = 15,
  302. Centroid = 16,
  303. Sample = 17,
  304. Invariant = 18,
  305. Restrict = 19,
  306. Aliased = 20,
  307. Volatile = 21,
  308. Constant = 22,
  309. Coherent = 23,
  310. NonWritable = 24,
  311. NonReadable = 25,
  312. Uniform = 26,
  313. SaturatedConversion = 28,
  314. Stream = 29,
  315. Location = 30,
  316. Component = 31,
  317. Index = 32,
  318. Binding = 33,
  319. DescriptorSet = 34,
  320. Offset = 35,
  321. XfbBuffer = 36,
  322. XfbStride = 37,
  323. FuncParamAttr = 38,
  324. FPRoundingMode = 39,
  325. FPFastMathMode = 40,
  326. LinkageAttributes = 41,
  327. NoContraction = 42,
  328. InputAttachmentIndex = 43,
  329. Alignment = 44,
  330. ExplicitInterpAMD = 4999,
  331. OverrideCoverageNV = 5248,
  332. PassthroughNV = 5250,
  333. ViewportRelativeNV = 5252,
  334. SecondaryViewportRelativeNV = 5256,
  335. HlslCounterBufferGOOGLE = 5634,
  336. HlslSemanticGOOGLE = 5635,
  337. },
  338. BuiltIn = {
  339. Position = 0,
  340. PointSize = 1,
  341. ClipDistance = 3,
  342. CullDistance = 4,
  343. VertexId = 5,
  344. InstanceId = 6,
  345. PrimitiveId = 7,
  346. InvocationId = 8,
  347. Layer = 9,
  348. ViewportIndex = 10,
  349. TessLevelOuter = 11,
  350. TessLevelInner = 12,
  351. TessCoord = 13,
  352. PatchVertices = 14,
  353. FragCoord = 15,
  354. PointCoord = 16,
  355. FrontFacing = 17,
  356. SampleId = 18,
  357. SamplePosition = 19,
  358. SampleMask = 20,
  359. FragDepth = 22,
  360. HelperInvocation = 23,
  361. NumWorkgroups = 24,
  362. WorkgroupSize = 25,
  363. WorkgroupId = 26,
  364. LocalInvocationId = 27,
  365. GlobalInvocationId = 28,
  366. LocalInvocationIndex = 29,
  367. WorkDim = 30,
  368. GlobalSize = 31,
  369. EnqueuedWorkgroupSize = 32,
  370. GlobalOffset = 33,
  371. GlobalLinearId = 34,
  372. SubgroupSize = 36,
  373. SubgroupMaxSize = 37,
  374. NumSubgroups = 38,
  375. NumEnqueuedSubgroups = 39,
  376. SubgroupId = 40,
  377. SubgroupLocalInvocationId = 41,
  378. VertexIndex = 42,
  379. InstanceIndex = 43,
  380. SubgroupEqMaskKHR = 4416,
  381. SubgroupGeMaskKHR = 4417,
  382. SubgroupGtMaskKHR = 4418,
  383. SubgroupLeMaskKHR = 4419,
  384. SubgroupLtMaskKHR = 4420,
  385. BaseVertex = 4424,
  386. BaseInstance = 4425,
  387. DrawIndex = 4426,
  388. DeviceIndex = 4438,
  389. ViewIndex = 4440,
  390. BaryCoordNoPerspAMD = 4992,
  391. BaryCoordNoPerspCentroidAMD = 4993,
  392. BaryCoordNoPerspSampleAMD = 4994,
  393. BaryCoordSmoothAMD = 4995,
  394. BaryCoordSmoothCentroidAMD = 4996,
  395. BaryCoordSmoothSampleAMD = 4997,
  396. BaryCoordPullModelAMD = 4998,
  397. FragStencilRefEXT = 5014,
  398. ViewportMaskNV = 5253,
  399. SecondaryPositionNV = 5257,
  400. SecondaryViewportMaskNV = 5258,
  401. PositionPerViewNV = 5261,
  402. ViewportMaskPerViewNV = 5262,
  403. },
  404. SelectionControlShift = {
  405. Flatten = 0,
  406. DontFlatten = 1,
  407. },
  408. SelectionControlMask = {
  409. MaskNone = 0,
  410. Flatten = 0x00000001,
  411. DontFlatten = 0x00000002,
  412. },
  413. LoopControlShift = {
  414. Unroll = 0,
  415. DontUnroll = 1,
  416. },
  417. LoopControlMask = {
  418. MaskNone = 0,
  419. Unroll = 0x00000001,
  420. DontUnroll = 0x00000002,
  421. },
  422. FunctionControlShift = {
  423. Inline = 0,
  424. DontInline = 1,
  425. Pure = 2,
  426. Const = 3,
  427. },
  428. FunctionControlMask = {
  429. MaskNone = 0,
  430. Inline = 0x00000001,
  431. DontInline = 0x00000002,
  432. Pure = 0x00000004,
  433. Const = 0x00000008,
  434. },
  435. MemorySemanticsShift = {
  436. Acquire = 1,
  437. Release = 2,
  438. AcquireRelease = 3,
  439. SequentiallyConsistent = 4,
  440. UniformMemory = 6,
  441. SubgroupMemory = 7,
  442. WorkgroupMemory = 8,
  443. CrossWorkgroupMemory = 9,
  444. AtomicCounterMemory = 10,
  445. ImageMemory = 11,
  446. },
  447. MemorySemanticsMask = {
  448. MaskNone = 0,
  449. Acquire = 0x00000002,
  450. Release = 0x00000004,
  451. AcquireRelease = 0x00000008,
  452. SequentiallyConsistent = 0x00000010,
  453. UniformMemory = 0x00000040,
  454. SubgroupMemory = 0x00000080,
  455. WorkgroupMemory = 0x00000100,
  456. CrossWorkgroupMemory = 0x00000200,
  457. AtomicCounterMemory = 0x00000400,
  458. ImageMemory = 0x00000800,
  459. },
  460. MemoryAccessShift = {
  461. Volatile = 0,
  462. Aligned = 1,
  463. Nontemporal = 2,
  464. },
  465. MemoryAccessMask = {
  466. MaskNone = 0,
  467. Volatile = 0x00000001,
  468. Aligned = 0x00000002,
  469. Nontemporal = 0x00000004,
  470. },
  471. Scope = {
  472. CrossDevice = 0,
  473. Device = 1,
  474. Workgroup = 2,
  475. Subgroup = 3,
  476. Invocation = 4,
  477. },
  478. GroupOperation = {
  479. Reduce = 0,
  480. InclusiveScan = 1,
  481. ExclusiveScan = 2,
  482. },
  483. KernelEnqueueFlags = {
  484. NoWait = 0,
  485. WaitKernel = 1,
  486. WaitWorkGroup = 2,
  487. },
  488. KernelProfilingInfoShift = {
  489. CmdExecTime = 0,
  490. },
  491. KernelProfilingInfoMask = {
  492. MaskNone = 0,
  493. CmdExecTime = 0x00000001,
  494. },
  495. Capability = {
  496. Matrix = 0,
  497. Shader = 1,
  498. Geometry = 2,
  499. Tessellation = 3,
  500. Addresses = 4,
  501. Linkage = 5,
  502. Kernel = 6,
  503. Vector16 = 7,
  504. Float16Buffer = 8,
  505. Float16 = 9,
  506. Float64 = 10,
  507. Int64 = 11,
  508. Int64Atomics = 12,
  509. ImageBasic = 13,
  510. ImageReadWrite = 14,
  511. ImageMipmap = 15,
  512. Pipes = 17,
  513. Groups = 18,
  514. DeviceEnqueue = 19,
  515. LiteralSampler = 20,
  516. AtomicStorage = 21,
  517. Int16 = 22,
  518. TessellationPointSize = 23,
  519. GeometryPointSize = 24,
  520. ImageGatherExtended = 25,
  521. StorageImageMultisample = 27,
  522. UniformBufferArrayDynamicIndexing = 28,
  523. SampledImageArrayDynamicIndexing = 29,
  524. StorageBufferArrayDynamicIndexing = 30,
  525. StorageImageArrayDynamicIndexing = 31,
  526. ClipDistance = 32,
  527. CullDistance = 33,
  528. ImageCubeArray = 34,
  529. SampleRateShading = 35,
  530. ImageRect = 36,
  531. SampledRect = 37,
  532. GenericPointer = 38,
  533. Int8 = 39,
  534. InputAttachment = 40,
  535. SparseResidency = 41,
  536. MinLod = 42,
  537. Sampled1D = 43,
  538. Image1D = 44,
  539. SampledCubeArray = 45,
  540. SampledBuffer = 46,
  541. ImageBuffer = 47,
  542. ImageMSArray = 48,
  543. StorageImageExtendedFormats = 49,
  544. ImageQuery = 50,
  545. DerivativeControl = 51,
  546. InterpolationFunction = 52,
  547. TransformFeedback = 53,
  548. GeometryStreams = 54,
  549. StorageImageReadWithoutFormat = 55,
  550. StorageImageWriteWithoutFormat = 56,
  551. MultiViewport = 57,
  552. SubgroupBallotKHR = 4423,
  553. DrawParameters = 4427,
  554. SubgroupVoteKHR = 4431,
  555. StorageBuffer16BitAccess = 4433,
  556. StorageUniformBufferBlock16 = 4433,
  557. StorageUniform16 = 4434,
  558. UniformAndStorageBuffer16BitAccess = 4434,
  559. StoragePushConstant16 = 4435,
  560. StorageInputOutput16 = 4436,
  561. DeviceGroup = 4437,
  562. MultiView = 4439,
  563. VariablePointersStorageBuffer = 4441,
  564. VariablePointers = 4442,
  565. AtomicStorageOps = 4445,
  566. SampleMaskPostDepthCoverage = 4447,
  567. ImageGatherBiasLodAMD = 5009,
  568. FragmentMaskAMD = 5010,
  569. StencilExportEXT = 5013,
  570. ImageReadWriteLodAMD = 5015,
  571. SampleMaskOverrideCoverageNV = 5249,
  572. GeometryShaderPassthroughNV = 5251,
  573. ShaderViewportIndexLayerEXT = 5254,
  574. ShaderViewportIndexLayerNV = 5254,
  575. ShaderViewportMaskNV = 5255,
  576. ShaderStereoViewNV = 5259,
  577. PerViewAttributesNV = 5260,
  578. SubgroupShuffleINTEL = 5568,
  579. SubgroupBufferBlockIOINTEL = 5569,
  580. SubgroupImageBlockIOINTEL = 5570,
  581. },
  582. Op = {
  583. OpNop = 0,
  584. OpUndef = 1,
  585. OpSourceContinued = 2,
  586. OpSource = 3,
  587. OpSourceExtension = 4,
  588. OpName = 5,
  589. OpMemberName = 6,
  590. OpString = 7,
  591. OpLine = 8,
  592. OpExtension = 10,
  593. OpExtInstImport = 11,
  594. OpExtInst = 12,
  595. OpMemoryModel = 14,
  596. OpEntryPoint = 15,
  597. OpExecutionMode = 16,
  598. OpCapability = 17,
  599. OpTypeVoid = 19,
  600. OpTypeBool = 20,
  601. OpTypeInt = 21,
  602. OpTypeFloat = 22,
  603. OpTypeVector = 23,
  604. OpTypeMatrix = 24,
  605. OpTypeImage = 25,
  606. OpTypeSampler = 26,
  607. OpTypeSampledImage = 27,
  608. OpTypeArray = 28,
  609. OpTypeRuntimeArray = 29,
  610. OpTypeStruct = 30,
  611. OpTypeOpaque = 31,
  612. OpTypePointer = 32,
  613. OpTypeFunction = 33,
  614. OpTypeEvent = 34,
  615. OpTypeDeviceEvent = 35,
  616. OpTypeReserveId = 36,
  617. OpTypeQueue = 37,
  618. OpTypePipe = 38,
  619. OpTypeForwardPointer = 39,
  620. OpConstantTrue = 41,
  621. OpConstantFalse = 42,
  622. OpConstant = 43,
  623. OpConstantComposite = 44,
  624. OpConstantSampler = 45,
  625. OpConstantNull = 46,
  626. OpSpecConstantTrue = 48,
  627. OpSpecConstantFalse = 49,
  628. OpSpecConstant = 50,
  629. OpSpecConstantComposite = 51,
  630. OpSpecConstantOp = 52,
  631. OpFunction = 54,
  632. OpFunctionParameter = 55,
  633. OpFunctionEnd = 56,
  634. OpFunctionCall = 57,
  635. OpVariable = 59,
  636. OpImageTexelPointer = 60,
  637. OpLoad = 61,
  638. OpStore = 62,
  639. OpCopyMemory = 63,
  640. OpCopyMemorySized = 64,
  641. OpAccessChain = 65,
  642. OpInBoundsAccessChain = 66,
  643. OpPtrAccessChain = 67,
  644. OpArrayLength = 68,
  645. OpGenericPtrMemSemantics = 69,
  646. OpInBoundsPtrAccessChain = 70,
  647. OpDecorate = 71,
  648. OpMemberDecorate = 72,
  649. OpDecorationGroup = 73,
  650. OpGroupDecorate = 74,
  651. OpGroupMemberDecorate = 75,
  652. OpVectorExtractDynamic = 77,
  653. OpVectorInsertDynamic = 78,
  654. OpVectorShuffle = 79,
  655. OpCompositeConstruct = 80,
  656. OpCompositeExtract = 81,
  657. OpCompositeInsert = 82,
  658. OpCopyObject = 83,
  659. OpTranspose = 84,
  660. OpSampledImage = 86,
  661. OpImageSampleImplicitLod = 87,
  662. OpImageSampleExplicitLod = 88,
  663. OpImageSampleDrefImplicitLod = 89,
  664. OpImageSampleDrefExplicitLod = 90,
  665. OpImageSampleProjImplicitLod = 91,
  666. OpImageSampleProjExplicitLod = 92,
  667. OpImageSampleProjDrefImplicitLod = 93,
  668. OpImageSampleProjDrefExplicitLod = 94,
  669. OpImageFetch = 95,
  670. OpImageGather = 96,
  671. OpImageDrefGather = 97,
  672. OpImageRead = 98,
  673. OpImageWrite = 99,
  674. OpImage = 100,
  675. OpImageQueryFormat = 101,
  676. OpImageQueryOrder = 102,
  677. OpImageQuerySizeLod = 103,
  678. OpImageQuerySize = 104,
  679. OpImageQueryLod = 105,
  680. OpImageQueryLevels = 106,
  681. OpImageQuerySamples = 107,
  682. OpConvertFToU = 109,
  683. OpConvertFToS = 110,
  684. OpConvertSToF = 111,
  685. OpConvertUToF = 112,
  686. OpUConvert = 113,
  687. OpSConvert = 114,
  688. OpFConvert = 115,
  689. OpQuantizeToF16 = 116,
  690. OpConvertPtrToU = 117,
  691. OpSatConvertSToU = 118,
  692. OpSatConvertUToS = 119,
  693. OpConvertUToPtr = 120,
  694. OpPtrCastToGeneric = 121,
  695. OpGenericCastToPtr = 122,
  696. OpGenericCastToPtrExplicit = 123,
  697. OpBitcast = 124,
  698. OpSNegate = 126,
  699. OpFNegate = 127,
  700. OpIAdd = 128,
  701. OpFAdd = 129,
  702. OpISub = 130,
  703. OpFSub = 131,
  704. OpIMul = 132,
  705. OpFMul = 133,
  706. OpUDiv = 134,
  707. OpSDiv = 135,
  708. OpFDiv = 136,
  709. OpUMod = 137,
  710. OpSRem = 138,
  711. OpSMod = 139,
  712. OpFRem = 140,
  713. OpFMod = 141,
  714. OpVectorTimesScalar = 142,
  715. OpMatrixTimesScalar = 143,
  716. OpVectorTimesMatrix = 144,
  717. OpMatrixTimesVector = 145,
  718. OpMatrixTimesMatrix = 146,
  719. OpOuterProduct = 147,
  720. OpDot = 148,
  721. OpIAddCarry = 149,
  722. OpISubBorrow = 150,
  723. OpUMulExtended = 151,
  724. OpSMulExtended = 152,
  725. OpAny = 154,
  726. OpAll = 155,
  727. OpIsNan = 156,
  728. OpIsInf = 157,
  729. OpIsFinite = 158,
  730. OpIsNormal = 159,
  731. OpSignBitSet = 160,
  732. OpLessOrGreater = 161,
  733. OpOrdered = 162,
  734. OpUnordered = 163,
  735. OpLogicalEqual = 164,
  736. OpLogicalNotEqual = 165,
  737. OpLogicalOr = 166,
  738. OpLogicalAnd = 167,
  739. OpLogicalNot = 168,
  740. OpSelect = 169,
  741. OpIEqual = 170,
  742. OpINotEqual = 171,
  743. OpUGreaterThan = 172,
  744. OpSGreaterThan = 173,
  745. OpUGreaterThanEqual = 174,
  746. OpSGreaterThanEqual = 175,
  747. OpULessThan = 176,
  748. OpSLessThan = 177,
  749. OpULessThanEqual = 178,
  750. OpSLessThanEqual = 179,
  751. OpFOrdEqual = 180,
  752. OpFUnordEqual = 181,
  753. OpFOrdNotEqual = 182,
  754. OpFUnordNotEqual = 183,
  755. OpFOrdLessThan = 184,
  756. OpFUnordLessThan = 185,
  757. OpFOrdGreaterThan = 186,
  758. OpFUnordGreaterThan = 187,
  759. OpFOrdLessThanEqual = 188,
  760. OpFUnordLessThanEqual = 189,
  761. OpFOrdGreaterThanEqual = 190,
  762. OpFUnordGreaterThanEqual = 191,
  763. OpShiftRightLogical = 194,
  764. OpShiftRightArithmetic = 195,
  765. OpShiftLeftLogical = 196,
  766. OpBitwiseOr = 197,
  767. OpBitwiseXor = 198,
  768. OpBitwiseAnd = 199,
  769. OpNot = 200,
  770. OpBitFieldInsert = 201,
  771. OpBitFieldSExtract = 202,
  772. OpBitFieldUExtract = 203,
  773. OpBitReverse = 204,
  774. OpBitCount = 205,
  775. OpDPdx = 207,
  776. OpDPdy = 208,
  777. OpFwidth = 209,
  778. OpDPdxFine = 210,
  779. OpDPdyFine = 211,
  780. OpFwidthFine = 212,
  781. OpDPdxCoarse = 213,
  782. OpDPdyCoarse = 214,
  783. OpFwidthCoarse = 215,
  784. OpEmitVertex = 218,
  785. OpEndPrimitive = 219,
  786. OpEmitStreamVertex = 220,
  787. OpEndStreamPrimitive = 221,
  788. OpControlBarrier = 224,
  789. OpMemoryBarrier = 225,
  790. OpAtomicLoad = 227,
  791. OpAtomicStore = 228,
  792. OpAtomicExchange = 229,
  793. OpAtomicCompareExchange = 230,
  794. OpAtomicCompareExchangeWeak = 231,
  795. OpAtomicIIncrement = 232,
  796. OpAtomicIDecrement = 233,
  797. OpAtomicIAdd = 234,
  798. OpAtomicISub = 235,
  799. OpAtomicSMin = 236,
  800. OpAtomicUMin = 237,
  801. OpAtomicSMax = 238,
  802. OpAtomicUMax = 239,
  803. OpAtomicAnd = 240,
  804. OpAtomicOr = 241,
  805. OpAtomicXor = 242,
  806. OpPhi = 245,
  807. OpLoopMerge = 246,
  808. OpSelectionMerge = 247,
  809. OpLabel = 248,
  810. OpBranch = 249,
  811. OpBranchConditional = 250,
  812. OpSwitch = 251,
  813. OpKill = 252,
  814. OpReturn = 253,
  815. OpReturnValue = 254,
  816. OpUnreachable = 255,
  817. OpLifetimeStart = 256,
  818. OpLifetimeStop = 257,
  819. OpGroupAsyncCopy = 259,
  820. OpGroupWaitEvents = 260,
  821. OpGroupAll = 261,
  822. OpGroupAny = 262,
  823. OpGroupBroadcast = 263,
  824. OpGroupIAdd = 264,
  825. OpGroupFAdd = 265,
  826. OpGroupFMin = 266,
  827. OpGroupUMin = 267,
  828. OpGroupSMin = 268,
  829. OpGroupFMax = 269,
  830. OpGroupUMax = 270,
  831. OpGroupSMax = 271,
  832. OpReadPipe = 274,
  833. OpWritePipe = 275,
  834. OpReservedReadPipe = 276,
  835. OpReservedWritePipe = 277,
  836. OpReserveReadPipePackets = 278,
  837. OpReserveWritePipePackets = 279,
  838. OpCommitReadPipe = 280,
  839. OpCommitWritePipe = 281,
  840. OpIsValidReserveId = 282,
  841. OpGetNumPipePackets = 283,
  842. OpGetMaxPipePackets = 284,
  843. OpGroupReserveReadPipePackets = 285,
  844. OpGroupReserveWritePipePackets = 286,
  845. OpGroupCommitReadPipe = 287,
  846. OpGroupCommitWritePipe = 288,
  847. OpEnqueueMarker = 291,
  848. OpEnqueueKernel = 292,
  849. OpGetKernelNDrangeSubGroupCount = 293,
  850. OpGetKernelNDrangeMaxSubGroupSize = 294,
  851. OpGetKernelWorkGroupSize = 295,
  852. OpGetKernelPreferredWorkGroupSizeMultiple = 296,
  853. OpRetainEvent = 297,
  854. OpReleaseEvent = 298,
  855. OpCreateUserEvent = 299,
  856. OpIsValidEvent = 300,
  857. OpSetUserEventStatus = 301,
  858. OpCaptureEventProfilingInfo = 302,
  859. OpGetDefaultQueue = 303,
  860. OpBuildNDRange = 304,
  861. OpImageSparseSampleImplicitLod = 305,
  862. OpImageSparseSampleExplicitLod = 306,
  863. OpImageSparseSampleDrefImplicitLod = 307,
  864. OpImageSparseSampleDrefExplicitLod = 308,
  865. OpImageSparseSampleProjImplicitLod = 309,
  866. OpImageSparseSampleProjExplicitLod = 310,
  867. OpImageSparseSampleProjDrefImplicitLod = 311,
  868. OpImageSparseSampleProjDrefExplicitLod = 312,
  869. OpImageSparseFetch = 313,
  870. OpImageSparseGather = 314,
  871. OpImageSparseDrefGather = 315,
  872. OpImageSparseTexelsResident = 316,
  873. OpNoLine = 317,
  874. OpAtomicFlagTestAndSet = 318,
  875. OpAtomicFlagClear = 319,
  876. OpImageSparseRead = 320,
  877. OpDecorateId = 332,
  878. OpSubgroupBallotKHR = 4421,
  879. OpSubgroupFirstInvocationKHR = 4422,
  880. OpSubgroupAllKHR = 4428,
  881. OpSubgroupAnyKHR = 4429,
  882. OpSubgroupAllEqualKHR = 4430,
  883. OpSubgroupReadInvocationKHR = 4432,
  884. OpGroupIAddNonUniformAMD = 5000,
  885. OpGroupFAddNonUniformAMD = 5001,
  886. OpGroupFMinNonUniformAMD = 5002,
  887. OpGroupUMinNonUniformAMD = 5003,
  888. OpGroupSMinNonUniformAMD = 5004,
  889. OpGroupFMaxNonUniformAMD = 5005,
  890. OpGroupUMaxNonUniformAMD = 5006,
  891. OpGroupSMaxNonUniformAMD = 5007,
  892. OpFragmentMaskFetchAMD = 5011,
  893. OpFragmentFetchAMD = 5012,
  894. OpSubgroupShuffleINTEL = 5571,
  895. OpSubgroupShuffleDownINTEL = 5572,
  896. OpSubgroupShuffleUpINTEL = 5573,
  897. OpSubgroupShuffleXorINTEL = 5574,
  898. OpSubgroupBlockReadINTEL = 5575,
  899. OpSubgroupBlockWriteINTEL = 5576,
  900. OpSubgroupImageBlockReadINTEL = 5577,
  901. OpSubgroupImageBlockWriteINTEL = 5578,
  902. OpDecorateStringGOOGLE = 5632,
  903. OpMemberDecorateStringGOOGLE = 5633,
  904. },
  905. }