authorgravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2021-05-12 00:01:04+02:00
committergravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2021-05-14 19:49:32+02:00
log42f2ff6ec9ad370cc58d8b2d85f62af346e9b5b8
tree2e80f59896ddcf58497a79f67abb1a21098ab3d0
parent6d1a4c8b1ec66969f262a5469dd51223bcda720f

SPIR-V: Re-generate spec.zig


1 files changed, 89 insertions(+), 31 deletions(-)

src/codegen/spirv/spec.zig+89-31
...@@ -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.
24const Version = @import("builtin").Version;3const Version = @import("builtin").Version;
25pub const version = Version{ .major = 1, .minor = 5, .patch = 4 };4pub const version = Version{ .major = 1, .minor = 5, .patch = 4 };
26pub const magic_number: u32 = 0x07230203;5pub 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};
594pub const ImageOperands = packed struct {589pub 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};
1046pub const StorageClass = extern enum(u32) {1047pub 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};
1077pub const Dim = extern enum(u32) {1080pub 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};
1198pub const FPDenormMode = extern enum(u32) {
1199 Preserve = 0,
1200 FlushToZero = 1,
1201 _,
1202};
1203pub const FPOperationMode = extern enum(u32) {
1204 IEEE = 0,
1205 ALT = 1,
1206 _,
1207};
1195pub const LinkageType = extern enum(u32) {1208pub const LinkageType = extern enum(u32) {
1196 Export = 0,1209 Export = 0,
1197 Import = 1,1210 Import = 1,
1211 LinkOnceODR = 2,
1198 _,1212 _,
1199};1213};
1200pub const AccessQualifier = extern enum(u32) {1214pub 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};
1302pub const BuiltIn = extern enum(u32) {1337pub 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};
1630pub const RayQueryIntersection = extern enum(u32) {1688pub const RayQueryIntersection = extern enum(u32) {