spirv.json 39 KB

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