| ... | @@ -1,26 +1,5 @@ | ... | @@ -1,26 +1,5 @@ |
| 1 | // Copyright (c) 2014-2020 The Khronos Group Inc. | 1 | //! This file is auto-generated by tools/gen_spirv_spec.zig. |
| 2 | // | 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 | const Version = @import("builtin").Version; | 3 | const Version = @import("builtin").Version; |
| 25 | pub const version = Version{ .major = 1, .minor = 5, .patch = 4 }; | 4 | pub const version = Version{ .major = 1, .minor = 5, .patch = 4 }; |
| 26 | pub const magic_number: u32 = 0x07230203; | 5 | pub const magic_number: u32 = 0x07230203; |
| ... | @@ -443,8 +422,15 @@ pub const Opcode = extern enum(u16) { | ... | @@ -443,8 +422,15 @@ pub const Opcode = extern enum(u16) { |
| 443 | OpUSubSatINTEL = 5596, | 422 | OpUSubSatINTEL = 5596, |
| 444 | OpIMul32x16INTEL = 5597, | 423 | OpIMul32x16INTEL = 5597, |
| 445 | OpUMul32x16INTEL = 5598, | 424 | OpUMul32x16INTEL = 5598, |
| 446 | OpFunctionPointerINTEL = 5600, | 425 | OpConstFunctionPointerINTEL = 5600, |
| 447 | OpFunctionPointerCallINTEL = 5601, | 426 | OpFunctionPointerCallINTEL = 5601, |
| | 427 | OpAsmTargetINTEL = 5609, |
| | 428 | OpAsmINTEL = 5610, |
| | 429 | OpAsmCallINTEL = 5611, |
| | 430 | OpAtomicFMinEXT = 5614, |
| | 431 | OpAtomicFMaxEXT = 5615, |
| | 432 | OpAssumeTrueKHR = 5630, |
| | 433 | OpExpectKHR = 5631, |
| 448 | OpDecorateString = 5632, | 434 | OpDecorateString = 5632, |
| 449 | OpDecorateStringGOOGLE = 5632, | 435 | OpDecorateStringGOOGLE = 5632, |
| 450 | OpMemberDecorateString = 5633, | 436 | OpMemberDecorateString = 5633, |
| ... | @@ -567,7 +553,12 @@ pub const Opcode = extern enum(u16) { | ... | @@ -567,7 +553,12 @@ pub const Opcode = extern enum(u16) { |
| 567 | OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814, | 553 | OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814, |
| 568 | OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815, | 554 | OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815, |
| 569 | OpSubgroupAvcSicGetInterRawSadsINTEL = 5816, | 555 | OpSubgroupAvcSicGetInterRawSadsINTEL = 5816, |
| | 556 | OpVariableLengthArrayINTEL = 5818, |
| | 557 | OpSaveMemoryINTEL = 5819, |
| | 558 | OpRestoreMemoryINTEL = 5820, |
| 570 | OpLoopControlINTEL = 5887, | 559 | OpLoopControlINTEL = 5887, |
| | 560 | OpPtrCastToCrossWorkgroupINTEL = 5934, |
| | 561 | OpCrossWorkgroupCastToPtrINTEL = 5938, |
| 571 | OpReadPipeBlockingINTEL = 5946, | 562 | OpReadPipeBlockingINTEL = 5946, |
| 572 | OpWritePipeBlockingINTEL = 5947, | 563 | OpWritePipeBlockingINTEL = 5947, |
| 573 | OpFPGARegINTEL = 5949, | 564 | OpFPGARegINTEL = 5949, |
| ... | @@ -589,6 +580,10 @@ pub const Opcode = extern enum(u16) { | ... | @@ -589,6 +580,10 @@ pub const Opcode = extern enum(u16) { |
| 589 | OpRayQueryGetIntersectionObjectToWorldKHR = 6031, | 580 | OpRayQueryGetIntersectionObjectToWorldKHR = 6031, |
| 590 | OpRayQueryGetIntersectionWorldToObjectKHR = 6032, | 581 | OpRayQueryGetIntersectionWorldToObjectKHR = 6032, |
| 591 | OpAtomicFAddEXT = 6035, | 582 | OpAtomicFAddEXT = 6035, |
| | 583 | OpTypeBufferSurfaceINTEL = 6086, |
| | 584 | OpTypeStructContinuedINTEL = 6090, |
| | 585 | OpConstantCompositeContinuedINTEL = 6091, |
| | 586 | OpSpecConstantCompositeContinuedINTEL = 6092, |
| 592 | _, | 587 | _, |
| 593 | }; | 588 | }; |
| 594 | pub const ImageOperands = packed struct { | 589 | pub const ImageOperands = packed struct { |
| ... | @@ -642,8 +637,8 @@ pub const FPFastMathMode = packed struct { | ... | @@ -642,8 +637,8 @@ pub const FPFastMathMode = packed struct { |
| 642 | _reserved_bit_13: bool = false, | 637 | _reserved_bit_13: bool = false, |
| 643 | _reserved_bit_14: bool = false, | 638 | _reserved_bit_14: bool = false, |
| 644 | _reserved_bit_15: bool = false, | 639 | _reserved_bit_15: bool = false, |
| 645 | _reserved_bit_16: bool = false, | 640 | AllowContractFastINTEL: bool = false, |
| 646 | _reserved_bit_17: bool = false, | 641 | AllowReassocINTEL: bool = false, |
| 647 | _reserved_bit_18: bool = false, | 642 | _reserved_bit_18: bool = false, |
| 648 | _reserved_bit_19: bool = false, | 643 | _reserved_bit_19: bool = false, |
| 649 | _reserved_bit_20: bool = false, | 644 | _reserved_bit_20: bool = false, |
| ... | @@ -717,7 +712,7 @@ pub const LoopControl = packed struct { | ... | @@ -717,7 +712,7 @@ pub const LoopControl = packed struct { |
| 717 | LoopCoalesceINTEL: bool = false, | 712 | LoopCoalesceINTEL: bool = false, |
| 718 | MaxInterleavingINTEL: bool = false, | 713 | MaxInterleavingINTEL: bool = false, |
| 719 | SpeculatedIterationsINTEL: bool = false, | 714 | SpeculatedIterationsINTEL: bool = false, |
| 720 | _reserved_bit_23: bool = false, | 715 | NoFusionINTEL: bool = false, |
| 721 | _reserved_bit_24: bool = false, | 716 | _reserved_bit_24: bool = false, |
| 722 | _reserved_bit_25: bool = false, | 717 | _reserved_bit_25: bool = false, |
| 723 | _reserved_bit_26: bool = false, | 718 | _reserved_bit_26: bool = false, |
| ... | @@ -1037,10 +1032,16 @@ pub const ExecutionMode = extern enum(u32) { | ... | @@ -1037,10 +1032,16 @@ pub const ExecutionMode = extern enum(u32) { |
| 1037 | SampleInterlockUnorderedEXT = 5369, | 1032 | SampleInterlockUnorderedEXT = 5369, |
| 1038 | ShadingRateInterlockOrderedEXT = 5370, | 1033 | ShadingRateInterlockOrderedEXT = 5370, |
| 1039 | ShadingRateInterlockUnorderedEXT = 5371, | 1034 | ShadingRateInterlockUnorderedEXT = 5371, |
| | 1035 | SharedLocalMemorySizeINTEL = 5618, |
| | 1036 | RoundingModeRTPINTEL = 5620, |
| | 1037 | RoundingModeRTNINTEL = 5621, |
| | 1038 | FloatingPointModeALTINTEL = 5622, |
| | 1039 | FloatingPointModeIEEEINTEL = 5623, |
| 1040 | MaxWorkgroupSizeINTEL = 5893, | 1040 | MaxWorkgroupSizeINTEL = 5893, |
| 1041 | MaxWorkDimINTEL = 5894, | 1041 | MaxWorkDimINTEL = 5894, |
| 1042 | NoGlobalOffsetINTEL = 5895, | 1042 | NoGlobalOffsetINTEL = 5895, |
| 1043 | NumSIMDWorkitemsINTEL = 5896, | 1043 | NumSIMDWorkitemsINTEL = 5896, |
| | 1044 | SchedulerTargetFmaxMhzINTEL = 5903, |
| 1044 | _, | 1045 | _, |
| 1045 | }; | 1046 | }; |
| 1046 | pub const StorageClass = extern enum(u32) { | 1047 | pub const StorageClass = extern enum(u32) { |
| ... | @@ -1072,6 +1073,8 @@ pub const StorageClass = extern enum(u32) { | ... | @@ -1072,6 +1073,8 @@ pub const StorageClass = extern enum(u32) { |
| 1072 | PhysicalStorageBuffer = 5349, | 1073 | PhysicalStorageBuffer = 5349, |
| 1073 | PhysicalStorageBufferEXT = 5349, | 1074 | PhysicalStorageBufferEXT = 5349, |
| 1074 | CodeSectionINTEL = 5605, | 1075 | CodeSectionINTEL = 5605, |
| | 1076 | DeviceOnlyINTEL = 5936, |
| | 1077 | HostOnlyINTEL = 5937, |
| 1075 | _, | 1078 | _, |
| 1076 | }; | 1079 | }; |
| 1077 | pub const Dim = extern enum(u32) { | 1080 | pub const Dim = extern enum(u32) { |
| ... | @@ -1192,9 +1195,20 @@ pub const FPRoundingMode = extern enum(u32) { | ... | @@ -1192,9 +1195,20 @@ pub const FPRoundingMode = extern enum(u32) { |
| 1192 | RTN = 3, | 1195 | RTN = 3, |
| 1193 | _, | 1196 | _, |
| 1194 | }; | 1197 | }; |
| | 1198 | pub const FPDenormMode = extern enum(u32) { |
| | 1199 | Preserve = 0, |
| | 1200 | FlushToZero = 1, |
| | 1201 | _, |
| | 1202 | }; |
| | 1203 | pub const FPOperationMode = extern enum(u32) { |
| | 1204 | IEEE = 0, |
| | 1205 | ALT = 1, |
| | 1206 | _, |
| | 1207 | }; |
| 1195 | pub const LinkageType = extern enum(u32) { | 1208 | pub const LinkageType = extern enum(u32) { |
| 1196 | Export = 0, | 1209 | Export = 0, |
| 1197 | Import = 1, | 1210 | Import = 1, |
| | 1211 | LinkOnceODR = 2, |
| 1198 | _, | 1212 | _, |
| 1199 | }; | 1213 | }; |
| 1200 | pub const AccessQualifier = extern enum(u32) { | 1214 | pub const AccessQualifier = extern enum(u32) { |
| ... | @@ -1279,12 +1293,22 @@ pub const Decoration = extern enum(u32) { | ... | @@ -1279,12 +1293,22 @@ pub const Decoration = extern enum(u32) { |
| 1279 | RestrictPointerEXT = 5355, | 1293 | RestrictPointerEXT = 5355, |
| 1280 | AliasedPointer = 5356, | 1294 | AliasedPointer = 5356, |
| 1281 | AliasedPointerEXT = 5356, | 1295 | AliasedPointerEXT = 5356, |
| | 1296 | SIMTCallINTEL = 5599, |
| 1282 | ReferencedIndirectlyINTEL = 5602, | 1297 | ReferencedIndirectlyINTEL = 5602, |
| | 1298 | ClobberINTEL = 5607, |
| | 1299 | SideEffectsINTEL = 5608, |
| | 1300 | VectorComputeVariableINTEL = 5624, |
| | 1301 | FuncParamIOKindINTEL = 5625, |
| | 1302 | VectorComputeFunctionINTEL = 5626, |
| | 1303 | StackCallINTEL = 5627, |
| | 1304 | GlobalVariableOffsetINTEL = 5628, |
| 1283 | CounterBuffer = 5634, | 1305 | CounterBuffer = 5634, |
| 1284 | HlslCounterBufferGOOGLE = 5634, | 1306 | HlslCounterBufferGOOGLE = 5634, |
| 1285 | UserSemantic = 5635, | 1307 | UserSemantic = 5635, |
| 1286 | HlslSemanticGOOGLE = 5635, | 1308 | HlslSemanticGOOGLE = 5635, |
| 1287 | UserTypeGOOGLE = 5636, | 1309 | UserTypeGOOGLE = 5636, |
| | 1310 | FunctionRoundingModeINTEL = 5822, |
| | 1311 | FunctionDenormModeINTEL = 5823, |
| 1288 | RegisterINTEL = 5825, | 1312 | RegisterINTEL = 5825, |
| 1289 | MemoryINTEL = 5826, | 1313 | MemoryINTEL = 5826, |
| 1290 | NumbanksINTEL = 5827, | 1314 | NumbanksINTEL = 5827, |
| ... | @@ -1297,6 +1321,17 @@ pub const Decoration = extern enum(u32) { | ... | @@ -1297,6 +1321,17 @@ pub const Decoration = extern enum(u32) { |
| 1297 | MergeINTEL = 5834, | 1321 | MergeINTEL = 5834, |
| 1298 | BankBitsINTEL = 5835, | 1322 | BankBitsINTEL = 5835, |
| 1299 | ForcePow2DepthINTEL = 5836, | 1323 | ForcePow2DepthINTEL = 5836, |
| | 1324 | BurstCoalesceINTEL = 5899, |
| | 1325 | CacheSizeINTEL = 5900, |
| | 1326 | DontStaticallyCoalesceINTEL = 5901, |
| | 1327 | PrefetchINTEL = 5902, |
| | 1328 | StallEnableINTEL = 5905, |
| | 1329 | FuseLoopsInFunctionINTEL = 5907, |
| | 1330 | BufferLocationINTEL = 5921, |
| | 1331 | IOPipeStorageINTEL = 5944, |
| | 1332 | FunctionFloatingPointModeINTEL = 6080, |
| | 1333 | SingleElementVectorINTEL = 6085, |
| | 1334 | VectorComputeCallableFunctionINTEL = 6087, |
| 1300 | _, | 1335 | _, |
| 1301 | }; | 1336 | }; |
| 1302 | pub const BuiltIn = extern enum(u32) { | 1337 | pub const BuiltIn = extern enum(u32) { |
| ... | @@ -1342,14 +1377,14 @@ pub const BuiltIn = extern enum(u32) { | ... | @@ -1342,14 +1377,14 @@ pub const BuiltIn = extern enum(u32) { |
| 1342 | VertexIndex = 42, | 1377 | VertexIndex = 42, |
| 1343 | InstanceIndex = 43, | 1378 | InstanceIndex = 43, |
| 1344 | SubgroupEqMask = 4416, | 1379 | SubgroupEqMask = 4416, |
| 1345 | SubgroupGeMask = 4417, | | |
| 1346 | SubgroupGtMask = 4418, | | |
| 1347 | SubgroupLeMask = 4419, | | |
| 1348 | SubgroupLtMask = 4420, | | |
| 1349 | SubgroupEqMaskKHR = 4416, | 1380 | SubgroupEqMaskKHR = 4416, |
| | 1381 | SubgroupGeMask = 4417, |
| 1350 | SubgroupGeMaskKHR = 4417, | 1382 | SubgroupGeMaskKHR = 4417, |
| | 1383 | SubgroupGtMask = 4418, |
| 1351 | SubgroupGtMaskKHR = 4418, | 1384 | SubgroupGtMaskKHR = 4418, |
| | 1385 | SubgroupLeMask = 4419, |
| 1352 | SubgroupLeMaskKHR = 4419, | 1386 | SubgroupLeMaskKHR = 4419, |
| | 1387 | SubgroupLtMask = 4420, |
| 1353 | SubgroupLtMaskKHR = 4420, | 1388 | SubgroupLtMaskKHR = 4420, |
| 1354 | BaseVertex = 4424, | 1389 | BaseVertex = 4424, |
| 1355 | BaseInstance = 4425, | 1390 | BaseInstance = 4425, |
| ... | @@ -1520,6 +1555,9 @@ pub const Capability = extern enum(u32) { | ... | @@ -1520,6 +1555,9 @@ pub const Capability = extern enum(u32) { |
| 1520 | FragmentShadingRateKHR = 4422, | 1555 | FragmentShadingRateKHR = 4422, |
| 1521 | SubgroupBallotKHR = 4423, | 1556 | SubgroupBallotKHR = 4423, |
| 1522 | DrawParameters = 4427, | 1557 | DrawParameters = 4427, |
| | 1558 | WorkgroupMemoryExplicitLayoutKHR = 4428, |
| | 1559 | WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429, |
| | 1560 | WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430, |
| 1523 | SubgroupVoteKHR = 4431, | 1561 | SubgroupVoteKHR = 4431, |
| 1524 | StorageBuffer16BitAccess = 4433, | 1562 | StorageBuffer16BitAccess = 4433, |
| 1525 | StorageUniformBufferBlock16 = 4433, | 1563 | StorageUniformBufferBlock16 = 4433, |
| ... | @@ -1610,21 +1648,41 @@ pub const Capability = extern enum(u32) { | ... | @@ -1610,21 +1648,41 @@ pub const Capability = extern enum(u32) { |
| 1610 | SubgroupBufferBlockIOINTEL = 5569, | 1648 | SubgroupBufferBlockIOINTEL = 5569, |
| 1611 | SubgroupImageBlockIOINTEL = 5570, | 1649 | SubgroupImageBlockIOINTEL = 5570, |
| 1612 | SubgroupImageMediaBlockIOINTEL = 5579, | 1650 | SubgroupImageMediaBlockIOINTEL = 5579, |
| | 1651 | RoundToInfinityINTEL = 5582, |
| | 1652 | FloatingPointModeINTEL = 5583, |
| 1613 | IntegerFunctions2INTEL = 5584, | 1653 | IntegerFunctions2INTEL = 5584, |
| 1614 | FunctionPointersINTEL = 5603, | 1654 | FunctionPointersINTEL = 5603, |
| 1615 | IndirectReferencesINTEL = 5604, | 1655 | IndirectReferencesINTEL = 5604, |
| | 1656 | AsmINTEL = 5606, |
| | 1657 | AtomicFloat32MinMaxEXT = 5612, |
| | 1658 | AtomicFloat64MinMaxEXT = 5613, |
| | 1659 | AtomicFloat16MinMaxEXT = 5616, |
| | 1660 | VectorComputeINTEL = 5617, |
| | 1661 | VectorAnyINTEL = 5619, |
| | 1662 | ExpectAssumeKHR = 5629, |
| 1616 | SubgroupAvcMotionEstimationINTEL = 5696, | 1663 | SubgroupAvcMotionEstimationINTEL = 5696, |
| 1617 | SubgroupAvcMotionEstimationIntraINTEL = 5697, | 1664 | SubgroupAvcMotionEstimationIntraINTEL = 5697, |
| 1618 | SubgroupAvcMotionEstimationChromaINTEL = 5698, | 1665 | SubgroupAvcMotionEstimationChromaINTEL = 5698, |
| | 1666 | VariableLengthArrayINTEL = 5817, |
| | 1667 | FunctionFloatControlINTEL = 5821, |
| 1619 | FPGAMemoryAttributesINTEL = 5824, | 1668 | FPGAMemoryAttributesINTEL = 5824, |
| | 1669 | FPFastMathModeINTEL = 5837, |
| | 1670 | ArbitraryPrecisionIntegersINTEL = 5844, |
| 1620 | UnstructuredLoopControlsINTEL = 5886, | 1671 | UnstructuredLoopControlsINTEL = 5886, |
| 1621 | FPGALoopControlsINTEL = 5888, | 1672 | FPGALoopControlsINTEL = 5888, |
| 1622 | KernelAttributesINTEL = 5892, | 1673 | KernelAttributesINTEL = 5892, |
| 1623 | FPGAKernelAttributesINTEL = 5897, | 1674 | FPGAKernelAttributesINTEL = 5897, |
| | 1675 | FPGAMemoryAccessesINTEL = 5898, |
| | 1676 | FPGAClusterAttributesINTEL = 5904, |
| | 1677 | LoopFuseINTEL = 5906, |
| | 1678 | FPGABufferLocationINTEL = 5920, |
| | 1679 | USMStorageClassesINTEL = 5935, |
| | 1680 | IOPipesINTEL = 5943, |
| 1624 | BlockingPipesINTEL = 5945, | 1681 | BlockingPipesINTEL = 5945, |
| 1625 | FPGARegINTEL = 5948, | 1682 | FPGARegINTEL = 5948, |
| 1626 | AtomicFloat32AddEXT = 6033, | 1683 | AtomicFloat32AddEXT = 6033, |
| 1627 | AtomicFloat64AddEXT = 6034, | 1684 | AtomicFloat64AddEXT = 6034, |
| | 1685 | LongConstantCompositeINTEL = 6089, |
| 1628 | _, | 1686 | _, |
| 1629 | }; | 1687 | }; |
| 1630 | pub const RayQueryIntersection = extern enum(u32) { | 1688 | pub const RayQueryIntersection = extern enum(u32) { |