spirv.py 28 KB

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