spirv.lua 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858
  1. -- Copyright (c) 2014-2016 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 = 3,
  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. },
  52. ExecutionModel = {
  53. Vertex = 0,
  54. TessellationControl = 1,
  55. TessellationEvaluation = 2,
  56. Geometry = 3,
  57. Fragment = 4,
  58. GLCompute = 5,
  59. Kernel = 6,
  60. },
  61. AddressingModel = {
  62. Logical = 0,
  63. Physical32 = 1,
  64. Physical64 = 2,
  65. },
  66. MemoryModel = {
  67. Simple = 0,
  68. GLSL450 = 1,
  69. OpenCL = 2,
  70. },
  71. ExecutionMode = {
  72. Invocations = 0,
  73. SpacingEqual = 1,
  74. SpacingFractionalEven = 2,
  75. SpacingFractionalOdd = 3,
  76. VertexOrderCw = 4,
  77. VertexOrderCcw = 5,
  78. PixelCenterInteger = 6,
  79. OriginUpperLeft = 7,
  80. OriginLowerLeft = 8,
  81. EarlyFragmentTests = 9,
  82. PointMode = 10,
  83. Xfb = 11,
  84. DepthReplacing = 12,
  85. DepthGreater = 14,
  86. DepthLess = 15,
  87. DepthUnchanged = 16,
  88. LocalSize = 17,
  89. LocalSizeHint = 18,
  90. InputPoints = 19,
  91. InputLines = 20,
  92. InputLinesAdjacency = 21,
  93. Triangles = 22,
  94. InputTrianglesAdjacency = 23,
  95. Quads = 24,
  96. Isolines = 25,
  97. OutputVertices = 26,
  98. OutputPoints = 27,
  99. OutputLineStrip = 28,
  100. OutputTriangleStrip = 29,
  101. VecTypeHint = 30,
  102. ContractionOff = 31,
  103. },
  104. StorageClass = {
  105. UniformConstant = 0,
  106. Input = 1,
  107. Uniform = 2,
  108. Output = 3,
  109. Workgroup = 4,
  110. CrossWorkgroup = 5,
  111. Private = 6,
  112. Function = 7,
  113. Generic = 8,
  114. PushConstant = 9,
  115. AtomicCounter = 10,
  116. Image = 11,
  117. },
  118. Dim = {
  119. Dim1D = 0,
  120. Dim2D = 1,
  121. Dim3D = 2,
  122. Cube = 3,
  123. Rect = 4,
  124. Buffer = 5,
  125. SubpassData = 6,
  126. },
  127. SamplerAddressingMode = {
  128. None = 0,
  129. ClampToEdge = 1,
  130. Clamp = 2,
  131. Repeat = 3,
  132. RepeatMirrored = 4,
  133. },
  134. SamplerFilterMode = {
  135. Nearest = 0,
  136. Linear = 1,
  137. },
  138. ImageFormat = {
  139. Unknown = 0,
  140. Rgba32f = 1,
  141. Rgba16f = 2,
  142. R32f = 3,
  143. Rgba8 = 4,
  144. Rgba8Snorm = 5,
  145. Rg32f = 6,
  146. Rg16f = 7,
  147. R11fG11fB10f = 8,
  148. R16f = 9,
  149. Rgba16 = 10,
  150. Rgb10A2 = 11,
  151. Rg16 = 12,
  152. Rg8 = 13,
  153. R16 = 14,
  154. R8 = 15,
  155. Rgba16Snorm = 16,
  156. Rg16Snorm = 17,
  157. Rg8Snorm = 18,
  158. R16Snorm = 19,
  159. R8Snorm = 20,
  160. Rgba32i = 21,
  161. Rgba16i = 22,
  162. Rgba8i = 23,
  163. R32i = 24,
  164. Rg32i = 25,
  165. Rg16i = 26,
  166. Rg8i = 27,
  167. R16i = 28,
  168. R8i = 29,
  169. Rgba32ui = 30,
  170. Rgba16ui = 31,
  171. Rgba8ui = 32,
  172. R32ui = 33,
  173. Rgb10a2ui = 34,
  174. Rg32ui = 35,
  175. Rg16ui = 36,
  176. Rg8ui = 37,
  177. R16ui = 38,
  178. R8ui = 39,
  179. },
  180. ImageChannelOrder = {
  181. R = 0,
  182. A = 1,
  183. RG = 2,
  184. RA = 3,
  185. RGB = 4,
  186. RGBA = 5,
  187. BGRA = 6,
  188. ARGB = 7,
  189. Intensity = 8,
  190. Luminance = 9,
  191. Rx = 10,
  192. RGx = 11,
  193. RGBx = 12,
  194. Depth = 13,
  195. DepthStencil = 14,
  196. sRGB = 15,
  197. sRGBx = 16,
  198. sRGBA = 17,
  199. sBGRA = 18,
  200. },
  201. ImageChannelDataType = {
  202. SnormInt8 = 0,
  203. SnormInt16 = 1,
  204. UnormInt8 = 2,
  205. UnormInt16 = 3,
  206. UnormShort565 = 4,
  207. UnormShort555 = 5,
  208. UnormInt101010 = 6,
  209. SignedInt8 = 7,
  210. SignedInt16 = 8,
  211. SignedInt32 = 9,
  212. UnsignedInt8 = 10,
  213. UnsignedInt16 = 11,
  214. UnsignedInt32 = 12,
  215. HalfFloat = 13,
  216. Float = 14,
  217. UnormInt24 = 15,
  218. UnormInt101010_2 = 16,
  219. },
  220. ImageOperandsShift = {
  221. Bias = 0,
  222. Lod = 1,
  223. Grad = 2,
  224. ConstOffset = 3,
  225. Offset = 4,
  226. ConstOffsets = 5,
  227. Sample = 6,
  228. MinLod = 7,
  229. },
  230. ImageOperandsMask = {
  231. MaskNone = 0,
  232. Bias = 0x00000001,
  233. Lod = 0x00000002,
  234. Grad = 0x00000004,
  235. ConstOffset = 0x00000008,
  236. Offset = 0x00000010,
  237. ConstOffsets = 0x00000020,
  238. Sample = 0x00000040,
  239. MinLod = 0x00000080,
  240. },
  241. FPFastMathModeShift = {
  242. NotNaN = 0,
  243. NotInf = 1,
  244. NSZ = 2,
  245. AllowRecip = 3,
  246. Fast = 4,
  247. },
  248. FPFastMathModeMask = {
  249. MaskNone = 0,
  250. NotNaN = 0x00000001,
  251. NotInf = 0x00000002,
  252. NSZ = 0x00000004,
  253. AllowRecip = 0x00000008,
  254. Fast = 0x00000010,
  255. },
  256. FPRoundingMode = {
  257. RTE = 0,
  258. RTZ = 1,
  259. RTP = 2,
  260. RTN = 3,
  261. },
  262. LinkageType = {
  263. Export = 0,
  264. Import = 1,
  265. },
  266. AccessQualifier = {
  267. ReadOnly = 0,
  268. WriteOnly = 1,
  269. ReadWrite = 2,
  270. },
  271. FunctionParameterAttribute = {
  272. Zext = 0,
  273. Sext = 1,
  274. ByVal = 2,
  275. Sret = 3,
  276. NoAlias = 4,
  277. NoCapture = 5,
  278. NoWrite = 6,
  279. NoReadWrite = 7,
  280. },
  281. Decoration = {
  282. RelaxedPrecision = 0,
  283. SpecId = 1,
  284. Block = 2,
  285. BufferBlock = 3,
  286. RowMajor = 4,
  287. ColMajor = 5,
  288. ArrayStride = 6,
  289. MatrixStride = 7,
  290. GLSLShared = 8,
  291. GLSLPacked = 9,
  292. CPacked = 10,
  293. BuiltIn = 11,
  294. NoPerspective = 13,
  295. Flat = 14,
  296. Patch = 15,
  297. Centroid = 16,
  298. Sample = 17,
  299. Invariant = 18,
  300. Restrict = 19,
  301. Aliased = 20,
  302. Volatile = 21,
  303. Constant = 22,
  304. Coherent = 23,
  305. NonWritable = 24,
  306. NonReadable = 25,
  307. Uniform = 26,
  308. SaturatedConversion = 28,
  309. Stream = 29,
  310. Location = 30,
  311. Component = 31,
  312. Index = 32,
  313. Binding = 33,
  314. DescriptorSet = 34,
  315. Offset = 35,
  316. XfbBuffer = 36,
  317. XfbStride = 37,
  318. FuncParamAttr = 38,
  319. FPRoundingMode = 39,
  320. FPFastMathMode = 40,
  321. LinkageAttributes = 41,
  322. NoContraction = 42,
  323. InputAttachmentIndex = 43,
  324. Alignment = 44,
  325. },
  326. BuiltIn = {
  327. Position = 0,
  328. PointSize = 1,
  329. ClipDistance = 3,
  330. CullDistance = 4,
  331. VertexId = 5,
  332. InstanceId = 6,
  333. PrimitiveId = 7,
  334. InvocationId = 8,
  335. Layer = 9,
  336. ViewportIndex = 10,
  337. TessLevelOuter = 11,
  338. TessLevelInner = 12,
  339. TessCoord = 13,
  340. PatchVertices = 14,
  341. FragCoord = 15,
  342. PointCoord = 16,
  343. FrontFacing = 17,
  344. SampleId = 18,
  345. SamplePosition = 19,
  346. SampleMask = 20,
  347. FragDepth = 22,
  348. HelperInvocation = 23,
  349. NumWorkgroups = 24,
  350. WorkgroupSize = 25,
  351. WorkgroupId = 26,
  352. LocalInvocationId = 27,
  353. GlobalInvocationId = 28,
  354. LocalInvocationIndex = 29,
  355. WorkDim = 30,
  356. GlobalSize = 31,
  357. EnqueuedWorkgroupSize = 32,
  358. GlobalOffset = 33,
  359. GlobalLinearId = 34,
  360. SubgroupSize = 36,
  361. SubgroupMaxSize = 37,
  362. NumSubgroups = 38,
  363. NumEnqueuedSubgroups = 39,
  364. SubgroupId = 40,
  365. SubgroupLocalInvocationId = 41,
  366. VertexIndex = 42,
  367. InstanceIndex = 43,
  368. },
  369. SelectionControlShift = {
  370. Flatten = 0,
  371. DontFlatten = 1,
  372. },
  373. SelectionControlMask = {
  374. MaskNone = 0,
  375. Flatten = 0x00000001,
  376. DontFlatten = 0x00000002,
  377. },
  378. LoopControlShift = {
  379. Unroll = 0,
  380. DontUnroll = 1,
  381. },
  382. LoopControlMask = {
  383. MaskNone = 0,
  384. Unroll = 0x00000001,
  385. DontUnroll = 0x00000002,
  386. },
  387. FunctionControlShift = {
  388. Inline = 0,
  389. DontInline = 1,
  390. Pure = 2,
  391. Const = 3,
  392. },
  393. FunctionControlMask = {
  394. MaskNone = 0,
  395. Inline = 0x00000001,
  396. DontInline = 0x00000002,
  397. Pure = 0x00000004,
  398. Const = 0x00000008,
  399. },
  400. MemorySemanticsShift = {
  401. Acquire = 1,
  402. Release = 2,
  403. AcquireRelease = 3,
  404. SequentiallyConsistent = 4,
  405. UniformMemory = 6,
  406. SubgroupMemory = 7,
  407. WorkgroupMemory = 8,
  408. CrossWorkgroupMemory = 9,
  409. AtomicCounterMemory = 10,
  410. ImageMemory = 11,
  411. },
  412. MemorySemanticsMask = {
  413. MaskNone = 0,
  414. Acquire = 0x00000002,
  415. Release = 0x00000004,
  416. AcquireRelease = 0x00000008,
  417. SequentiallyConsistent = 0x00000010,
  418. UniformMemory = 0x00000040,
  419. SubgroupMemory = 0x00000080,
  420. WorkgroupMemory = 0x00000100,
  421. CrossWorkgroupMemory = 0x00000200,
  422. AtomicCounterMemory = 0x00000400,
  423. ImageMemory = 0x00000800,
  424. },
  425. MemoryAccessShift = {
  426. Volatile = 0,
  427. Aligned = 1,
  428. Nontemporal = 2,
  429. },
  430. MemoryAccessMask = {
  431. MaskNone = 0,
  432. Volatile = 0x00000001,
  433. Aligned = 0x00000002,
  434. Nontemporal = 0x00000004,
  435. },
  436. Scope = {
  437. CrossDevice = 0,
  438. Device = 1,
  439. Workgroup = 2,
  440. Subgroup = 3,
  441. Invocation = 4,
  442. },
  443. GroupOperation = {
  444. Reduce = 0,
  445. InclusiveScan = 1,
  446. ExclusiveScan = 2,
  447. },
  448. KernelEnqueueFlags = {
  449. NoWait = 0,
  450. WaitKernel = 1,
  451. WaitWorkGroup = 2,
  452. },
  453. KernelProfilingInfoShift = {
  454. CmdExecTime = 0,
  455. },
  456. KernelProfilingInfoMask = {
  457. MaskNone = 0,
  458. CmdExecTime = 0x00000001,
  459. },
  460. Capability = {
  461. Matrix = 0,
  462. Shader = 1,
  463. Geometry = 2,
  464. Tessellation = 3,
  465. Addresses = 4,
  466. Linkage = 5,
  467. Kernel = 6,
  468. Vector16 = 7,
  469. Float16Buffer = 8,
  470. Float16 = 9,
  471. Float64 = 10,
  472. Int64 = 11,
  473. Int64Atomics = 12,
  474. ImageBasic = 13,
  475. ImageReadWrite = 14,
  476. ImageMipmap = 15,
  477. Pipes = 17,
  478. Groups = 18,
  479. DeviceEnqueue = 19,
  480. LiteralSampler = 20,
  481. AtomicStorage = 21,
  482. Int16 = 22,
  483. TessellationPointSize = 23,
  484. GeometryPointSize = 24,
  485. ImageGatherExtended = 25,
  486. StorageImageMultisample = 27,
  487. UniformBufferArrayDynamicIndexing = 28,
  488. SampledImageArrayDynamicIndexing = 29,
  489. StorageBufferArrayDynamicIndexing = 30,
  490. StorageImageArrayDynamicIndexing = 31,
  491. ClipDistance = 32,
  492. CullDistance = 33,
  493. ImageCubeArray = 34,
  494. SampleRateShading = 35,
  495. ImageRect = 36,
  496. SampledRect = 37,
  497. GenericPointer = 38,
  498. Int8 = 39,
  499. InputAttachment = 40,
  500. SparseResidency = 41,
  501. MinLod = 42,
  502. Sampled1D = 43,
  503. Image1D = 44,
  504. SampledCubeArray = 45,
  505. SampledBuffer = 46,
  506. ImageBuffer = 47,
  507. ImageMSArray = 48,
  508. StorageImageExtendedFormats = 49,
  509. ImageQuery = 50,
  510. DerivativeControl = 51,
  511. InterpolationFunction = 52,
  512. TransformFeedback = 53,
  513. GeometryStreams = 54,
  514. StorageImageReadWithoutFormat = 55,
  515. StorageImageWriteWithoutFormat = 56,
  516. MultiViewport = 57,
  517. },
  518. Op = {
  519. OpNop = 0,
  520. OpUndef = 1,
  521. OpSourceContinued = 2,
  522. OpSource = 3,
  523. OpSourceExtension = 4,
  524. OpName = 5,
  525. OpMemberName = 6,
  526. OpString = 7,
  527. OpLine = 8,
  528. OpExtension = 10,
  529. OpExtInstImport = 11,
  530. OpExtInst = 12,
  531. OpMemoryModel = 14,
  532. OpEntryPoint = 15,
  533. OpExecutionMode = 16,
  534. OpCapability = 17,
  535. OpTypeVoid = 19,
  536. OpTypeBool = 20,
  537. OpTypeInt = 21,
  538. OpTypeFloat = 22,
  539. OpTypeVector = 23,
  540. OpTypeMatrix = 24,
  541. OpTypeImage = 25,
  542. OpTypeSampler = 26,
  543. OpTypeSampledImage = 27,
  544. OpTypeArray = 28,
  545. OpTypeRuntimeArray = 29,
  546. OpTypeStruct = 30,
  547. OpTypeOpaque = 31,
  548. OpTypePointer = 32,
  549. OpTypeFunction = 33,
  550. OpTypeEvent = 34,
  551. OpTypeDeviceEvent = 35,
  552. OpTypeReserveId = 36,
  553. OpTypeQueue = 37,
  554. OpTypePipe = 38,
  555. OpTypeForwardPointer = 39,
  556. OpConstantTrue = 41,
  557. OpConstantFalse = 42,
  558. OpConstant = 43,
  559. OpConstantComposite = 44,
  560. OpConstantSampler = 45,
  561. OpConstantNull = 46,
  562. OpSpecConstantTrue = 48,
  563. OpSpecConstantFalse = 49,
  564. OpSpecConstant = 50,
  565. OpSpecConstantComposite = 51,
  566. OpSpecConstantOp = 52,
  567. OpFunction = 54,
  568. OpFunctionParameter = 55,
  569. OpFunctionEnd = 56,
  570. OpFunctionCall = 57,
  571. OpVariable = 59,
  572. OpImageTexelPointer = 60,
  573. OpLoad = 61,
  574. OpStore = 62,
  575. OpCopyMemory = 63,
  576. OpCopyMemorySized = 64,
  577. OpAccessChain = 65,
  578. OpInBoundsAccessChain = 66,
  579. OpPtrAccessChain = 67,
  580. OpArrayLength = 68,
  581. OpGenericPtrMemSemantics = 69,
  582. OpInBoundsPtrAccessChain = 70,
  583. OpDecorate = 71,
  584. OpMemberDecorate = 72,
  585. OpDecorationGroup = 73,
  586. OpGroupDecorate = 74,
  587. OpGroupMemberDecorate = 75,
  588. OpVectorExtractDynamic = 77,
  589. OpVectorInsertDynamic = 78,
  590. OpVectorShuffle = 79,
  591. OpCompositeConstruct = 80,
  592. OpCompositeExtract = 81,
  593. OpCompositeInsert = 82,
  594. OpCopyObject = 83,
  595. OpTranspose = 84,
  596. OpSampledImage = 86,
  597. OpImageSampleImplicitLod = 87,
  598. OpImageSampleExplicitLod = 88,
  599. OpImageSampleDrefImplicitLod = 89,
  600. OpImageSampleDrefExplicitLod = 90,
  601. OpImageSampleProjImplicitLod = 91,
  602. OpImageSampleProjExplicitLod = 92,
  603. OpImageSampleProjDrefImplicitLod = 93,
  604. OpImageSampleProjDrefExplicitLod = 94,
  605. OpImageFetch = 95,
  606. OpImageGather = 96,
  607. OpImageDrefGather = 97,
  608. OpImageRead = 98,
  609. OpImageWrite = 99,
  610. OpImage = 100,
  611. OpImageQueryFormat = 101,
  612. OpImageQueryOrder = 102,
  613. OpImageQuerySizeLod = 103,
  614. OpImageQuerySize = 104,
  615. OpImageQueryLod = 105,
  616. OpImageQueryLevels = 106,
  617. OpImageQuerySamples = 107,
  618. OpConvertFToU = 109,
  619. OpConvertFToS = 110,
  620. OpConvertSToF = 111,
  621. OpConvertUToF = 112,
  622. OpUConvert = 113,
  623. OpSConvert = 114,
  624. OpFConvert = 115,
  625. OpQuantizeToF16 = 116,
  626. OpConvertPtrToU = 117,
  627. OpSatConvertSToU = 118,
  628. OpSatConvertUToS = 119,
  629. OpConvertUToPtr = 120,
  630. OpPtrCastToGeneric = 121,
  631. OpGenericCastToPtr = 122,
  632. OpGenericCastToPtrExplicit = 123,
  633. OpBitcast = 124,
  634. OpSNegate = 126,
  635. OpFNegate = 127,
  636. OpIAdd = 128,
  637. OpFAdd = 129,
  638. OpISub = 130,
  639. OpFSub = 131,
  640. OpIMul = 132,
  641. OpFMul = 133,
  642. OpUDiv = 134,
  643. OpSDiv = 135,
  644. OpFDiv = 136,
  645. OpUMod = 137,
  646. OpSRem = 138,
  647. OpSMod = 139,
  648. OpFRem = 140,
  649. OpFMod = 141,
  650. OpVectorTimesScalar = 142,
  651. OpMatrixTimesScalar = 143,
  652. OpVectorTimesMatrix = 144,
  653. OpMatrixTimesVector = 145,
  654. OpMatrixTimesMatrix = 146,
  655. OpOuterProduct = 147,
  656. OpDot = 148,
  657. OpIAddCarry = 149,
  658. OpISubBorrow = 150,
  659. OpUMulExtended = 151,
  660. OpSMulExtended = 152,
  661. OpAny = 154,
  662. OpAll = 155,
  663. OpIsNan = 156,
  664. OpIsInf = 157,
  665. OpIsFinite = 158,
  666. OpIsNormal = 159,
  667. OpSignBitSet = 160,
  668. OpLessOrGreater = 161,
  669. OpOrdered = 162,
  670. OpUnordered = 163,
  671. OpLogicalEqual = 164,
  672. OpLogicalNotEqual = 165,
  673. OpLogicalOr = 166,
  674. OpLogicalAnd = 167,
  675. OpLogicalNot = 168,
  676. OpSelect = 169,
  677. OpIEqual = 170,
  678. OpINotEqual = 171,
  679. OpUGreaterThan = 172,
  680. OpSGreaterThan = 173,
  681. OpUGreaterThanEqual = 174,
  682. OpSGreaterThanEqual = 175,
  683. OpULessThan = 176,
  684. OpSLessThan = 177,
  685. OpULessThanEqual = 178,
  686. OpSLessThanEqual = 179,
  687. OpFOrdEqual = 180,
  688. OpFUnordEqual = 181,
  689. OpFOrdNotEqual = 182,
  690. OpFUnordNotEqual = 183,
  691. OpFOrdLessThan = 184,
  692. OpFUnordLessThan = 185,
  693. OpFOrdGreaterThan = 186,
  694. OpFUnordGreaterThan = 187,
  695. OpFOrdLessThanEqual = 188,
  696. OpFUnordLessThanEqual = 189,
  697. OpFOrdGreaterThanEqual = 190,
  698. OpFUnordGreaterThanEqual = 191,
  699. OpShiftRightLogical = 194,
  700. OpShiftRightArithmetic = 195,
  701. OpShiftLeftLogical = 196,
  702. OpBitwiseOr = 197,
  703. OpBitwiseXor = 198,
  704. OpBitwiseAnd = 199,
  705. OpNot = 200,
  706. OpBitFieldInsert = 201,
  707. OpBitFieldSExtract = 202,
  708. OpBitFieldUExtract = 203,
  709. OpBitReverse = 204,
  710. OpBitCount = 205,
  711. OpDPdx = 207,
  712. OpDPdy = 208,
  713. OpFwidth = 209,
  714. OpDPdxFine = 210,
  715. OpDPdyFine = 211,
  716. OpFwidthFine = 212,
  717. OpDPdxCoarse = 213,
  718. OpDPdyCoarse = 214,
  719. OpFwidthCoarse = 215,
  720. OpEmitVertex = 218,
  721. OpEndPrimitive = 219,
  722. OpEmitStreamVertex = 220,
  723. OpEndStreamPrimitive = 221,
  724. OpControlBarrier = 224,
  725. OpMemoryBarrier = 225,
  726. OpAtomicLoad = 227,
  727. OpAtomicStore = 228,
  728. OpAtomicExchange = 229,
  729. OpAtomicCompareExchange = 230,
  730. OpAtomicCompareExchangeWeak = 231,
  731. OpAtomicIIncrement = 232,
  732. OpAtomicIDecrement = 233,
  733. OpAtomicIAdd = 234,
  734. OpAtomicISub = 235,
  735. OpAtomicSMin = 236,
  736. OpAtomicUMin = 237,
  737. OpAtomicSMax = 238,
  738. OpAtomicUMax = 239,
  739. OpAtomicAnd = 240,
  740. OpAtomicOr = 241,
  741. OpAtomicXor = 242,
  742. OpPhi = 245,
  743. OpLoopMerge = 246,
  744. OpSelectionMerge = 247,
  745. OpLabel = 248,
  746. OpBranch = 249,
  747. OpBranchConditional = 250,
  748. OpSwitch = 251,
  749. OpKill = 252,
  750. OpReturn = 253,
  751. OpReturnValue = 254,
  752. OpUnreachable = 255,
  753. OpLifetimeStart = 256,
  754. OpLifetimeStop = 257,
  755. OpGroupAsyncCopy = 259,
  756. OpGroupWaitEvents = 260,
  757. OpGroupAll = 261,
  758. OpGroupAny = 262,
  759. OpGroupBroadcast = 263,
  760. OpGroupIAdd = 264,
  761. OpGroupFAdd = 265,
  762. OpGroupFMin = 266,
  763. OpGroupUMin = 267,
  764. OpGroupSMin = 268,
  765. OpGroupFMax = 269,
  766. OpGroupUMax = 270,
  767. OpGroupSMax = 271,
  768. OpReadPipe = 274,
  769. OpWritePipe = 275,
  770. OpReservedReadPipe = 276,
  771. OpReservedWritePipe = 277,
  772. OpReserveReadPipePackets = 278,
  773. OpReserveWritePipePackets = 279,
  774. OpCommitReadPipe = 280,
  775. OpCommitWritePipe = 281,
  776. OpIsValidReserveId = 282,
  777. OpGetNumPipePackets = 283,
  778. OpGetMaxPipePackets = 284,
  779. OpGroupReserveReadPipePackets = 285,
  780. OpGroupReserveWritePipePackets = 286,
  781. OpGroupCommitReadPipe = 287,
  782. OpGroupCommitWritePipe = 288,
  783. OpEnqueueMarker = 291,
  784. OpEnqueueKernel = 292,
  785. OpGetKernelNDrangeSubGroupCount = 293,
  786. OpGetKernelNDrangeMaxSubGroupSize = 294,
  787. OpGetKernelWorkGroupSize = 295,
  788. OpGetKernelPreferredWorkGroupSizeMultiple = 296,
  789. OpRetainEvent = 297,
  790. OpReleaseEvent = 298,
  791. OpCreateUserEvent = 299,
  792. OpIsValidEvent = 300,
  793. OpSetUserEventStatus = 301,
  794. OpCaptureEventProfilingInfo = 302,
  795. OpGetDefaultQueue = 303,
  796. OpBuildNDRange = 304,
  797. OpImageSparseSampleImplicitLod = 305,
  798. OpImageSparseSampleExplicitLod = 306,
  799. OpImageSparseSampleDrefImplicitLod = 307,
  800. OpImageSparseSampleDrefExplicitLod = 308,
  801. OpImageSparseSampleProjImplicitLod = 309,
  802. OpImageSparseSampleProjExplicitLod = 310,
  803. OpImageSparseSampleProjDrefImplicitLod = 311,
  804. OpImageSparseSampleProjDrefExplicitLod = 312,
  805. OpImageSparseFetch = 313,
  806. OpImageSparseGather = 314,
  807. OpImageSparseDrefGather = 315,
  808. OpImageSparseTexelsResident = 316,
  809. OpNoLine = 317,
  810. OpAtomicFlagTestAndSet = 318,
  811. OpAtomicFlagClear = 319,
  812. OpImageSparseRead = 320,
  813. },
  814. }