spirv.json 39 KB

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