spirv.py 23 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. }