110e230b6Smaya/* DO NOT EDIT - This file is generated automatically by spirv_info_c.py script */
210e230b6Smaya
310e230b6Smaya/*
410e230b6Smaya * Copyright (C) 2017 Intel Corporation
510e230b6Smaya *
610e230b6Smaya * Permission is hereby granted, free of charge, to any person obtaining a
710e230b6Smaya * copy of this software and associated documentation files (the "Software"),
810e230b6Smaya * to deal in the Software without restriction, including without limitation
910e230b6Smaya * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1010e230b6Smaya * and/or sell copies of the Software, and to permit persons to whom the
1110e230b6Smaya * Software is furnished to do so, subject to the following conditions:
1210e230b6Smaya *
1310e230b6Smaya * The above copyright notice and this permission notice (including the next
1410e230b6Smaya * paragraph) shall be included in all copies or substantial portions of the
1510e230b6Smaya * Software.
1610e230b6Smaya *
1710e230b6Smaya * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1810e230b6Smaya * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1910e230b6Smaya * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
2010e230b6Smaya * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2110e230b6Smaya * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2210e230b6Smaya * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2310e230b6Smaya * DEALINGS IN THE SOFTWARE.
2410e230b6Smaya */
2510e230b6Smaya#include "spirv_info.h"
2610e230b6Smaya
2710e230b6Smayaconst char *
2810e230b6Smayaspirv_addressingmodel_to_string(SpvAddressingModel v)
2910e230b6Smaya{
3010e230b6Smaya   switch (v) {
3110e230b6Smaya   case SpvAddressingModelLogical: return "SpvAddressingModelLogical";
3210e230b6Smaya   case SpvAddressingModelPhysical32: return "SpvAddressingModelPhysical32";
3310e230b6Smaya   case SpvAddressingModelPhysical64: return "SpvAddressingModelPhysical64";
3496c5ddc4Srjs   case SpvAddressingModelPhysicalStorageBuffer64: return "SpvAddressingModelPhysicalStorageBuffer64";
3510e230b6Smaya   case SpvAddressingModelMax: break; /* silence warnings about unhandled enums. */
3610e230b6Smaya   }
3710e230b6Smaya
3810e230b6Smaya   return "unknown";
3910e230b6Smaya}
4010e230b6Smaya
4110e230b6Smayaconst char *
4210e230b6Smayaspirv_builtin_to_string(SpvBuiltIn v)
4310e230b6Smaya{
4410e230b6Smaya   switch (v) {
4510e230b6Smaya   case SpvBuiltInPosition: return "SpvBuiltInPosition";
4610e230b6Smaya   case SpvBuiltInPointSize: return "SpvBuiltInPointSize";
4710e230b6Smaya   case SpvBuiltInClipDistance: return "SpvBuiltInClipDistance";
4810e230b6Smaya   case SpvBuiltInCullDistance: return "SpvBuiltInCullDistance";
4910e230b6Smaya   case SpvBuiltInVertexId: return "SpvBuiltInVertexId";
5010e230b6Smaya   case SpvBuiltInInstanceId: return "SpvBuiltInInstanceId";
5110e230b6Smaya   case SpvBuiltInPrimitiveId: return "SpvBuiltInPrimitiveId";
5210e230b6Smaya   case SpvBuiltInInvocationId: return "SpvBuiltInInvocationId";
5310e230b6Smaya   case SpvBuiltInLayer: return "SpvBuiltInLayer";
5410e230b6Smaya   case SpvBuiltInViewportIndex: return "SpvBuiltInViewportIndex";
5510e230b6Smaya   case SpvBuiltInTessLevelOuter: return "SpvBuiltInTessLevelOuter";
5610e230b6Smaya   case SpvBuiltInTessLevelInner: return "SpvBuiltInTessLevelInner";
5710e230b6Smaya   case SpvBuiltInTessCoord: return "SpvBuiltInTessCoord";
5810e230b6Smaya   case SpvBuiltInPatchVertices: return "SpvBuiltInPatchVertices";
5910e230b6Smaya   case SpvBuiltInFragCoord: return "SpvBuiltInFragCoord";
6010e230b6Smaya   case SpvBuiltInPointCoord: return "SpvBuiltInPointCoord";
6110e230b6Smaya   case SpvBuiltInFrontFacing: return "SpvBuiltInFrontFacing";
6210e230b6Smaya   case SpvBuiltInSampleId: return "SpvBuiltInSampleId";
6310e230b6Smaya   case SpvBuiltInSamplePosition: return "SpvBuiltInSamplePosition";
6410e230b6Smaya   case SpvBuiltInSampleMask: return "SpvBuiltInSampleMask";
6510e230b6Smaya   case SpvBuiltInFragDepth: return "SpvBuiltInFragDepth";
6610e230b6Smaya   case SpvBuiltInHelperInvocation: return "SpvBuiltInHelperInvocation";
6710e230b6Smaya   case SpvBuiltInNumWorkgroups: return "SpvBuiltInNumWorkgroups";
6810e230b6Smaya   case SpvBuiltInWorkgroupSize: return "SpvBuiltInWorkgroupSize";
6910e230b6Smaya   case SpvBuiltInWorkgroupId: return "SpvBuiltInWorkgroupId";
7010e230b6Smaya   case SpvBuiltInLocalInvocationId: return "SpvBuiltInLocalInvocationId";
7110e230b6Smaya   case SpvBuiltInGlobalInvocationId: return "SpvBuiltInGlobalInvocationId";
7210e230b6Smaya   case SpvBuiltInLocalInvocationIndex: return "SpvBuiltInLocalInvocationIndex";
7310e230b6Smaya   case SpvBuiltInWorkDim: return "SpvBuiltInWorkDim";
7410e230b6Smaya   case SpvBuiltInGlobalSize: return "SpvBuiltInGlobalSize";
7510e230b6Smaya   case SpvBuiltInEnqueuedWorkgroupSize: return "SpvBuiltInEnqueuedWorkgroupSize";
7610e230b6Smaya   case SpvBuiltInGlobalOffset: return "SpvBuiltInGlobalOffset";
7710e230b6Smaya   case SpvBuiltInGlobalLinearId: return "SpvBuiltInGlobalLinearId";
7810e230b6Smaya   case SpvBuiltInSubgroupSize: return "SpvBuiltInSubgroupSize";
7910e230b6Smaya   case SpvBuiltInSubgroupMaxSize: return "SpvBuiltInSubgroupMaxSize";
8010e230b6Smaya   case SpvBuiltInNumSubgroups: return "SpvBuiltInNumSubgroups";
8110e230b6Smaya   case SpvBuiltInNumEnqueuedSubgroups: return "SpvBuiltInNumEnqueuedSubgroups";
8210e230b6Smaya   case SpvBuiltInSubgroupId: return "SpvBuiltInSubgroupId";
8310e230b6Smaya   case SpvBuiltInSubgroupLocalInvocationId: return "SpvBuiltInSubgroupLocalInvocationId";
8410e230b6Smaya   case SpvBuiltInVertexIndex: return "SpvBuiltInVertexIndex";
8510e230b6Smaya   case SpvBuiltInInstanceIndex: return "SpvBuiltInInstanceIndex";
8610e230b6Smaya   case SpvBuiltInSubgroupEqMask: return "SpvBuiltInSubgroupEqMask";
8710e230b6Smaya   case SpvBuiltInSubgroupGeMask: return "SpvBuiltInSubgroupGeMask";
8810e230b6Smaya   case SpvBuiltInSubgroupGtMask: return "SpvBuiltInSubgroupGtMask";
8910e230b6Smaya   case SpvBuiltInSubgroupLeMask: return "SpvBuiltInSubgroupLeMask";
9010e230b6Smaya   case SpvBuiltInSubgroupLtMask: return "SpvBuiltInSubgroupLtMask";
9110e230b6Smaya   case SpvBuiltInBaseVertex: return "SpvBuiltInBaseVertex";
9210e230b6Smaya   case SpvBuiltInBaseInstance: return "SpvBuiltInBaseInstance";
9310e230b6Smaya   case SpvBuiltInDrawIndex: return "SpvBuiltInDrawIndex";
9496c5ddc4Srjs   case SpvBuiltInPrimitiveShadingRateKHR: return "SpvBuiltInPrimitiveShadingRateKHR";
9510e230b6Smaya   case SpvBuiltInDeviceIndex: return "SpvBuiltInDeviceIndex";
9610e230b6Smaya   case SpvBuiltInViewIndex: return "SpvBuiltInViewIndex";
9796c5ddc4Srjs   case SpvBuiltInShadingRateKHR: return "SpvBuiltInShadingRateKHR";
9810e230b6Smaya   case SpvBuiltInBaryCoordNoPerspAMD: return "SpvBuiltInBaryCoordNoPerspAMD";
9910e230b6Smaya   case SpvBuiltInBaryCoordNoPerspCentroidAMD: return "SpvBuiltInBaryCoordNoPerspCentroidAMD";
10010e230b6Smaya   case SpvBuiltInBaryCoordNoPerspSampleAMD: return "SpvBuiltInBaryCoordNoPerspSampleAMD";
10110e230b6Smaya   case SpvBuiltInBaryCoordSmoothAMD: return "SpvBuiltInBaryCoordSmoothAMD";
10210e230b6Smaya   case SpvBuiltInBaryCoordSmoothCentroidAMD: return "SpvBuiltInBaryCoordSmoothCentroidAMD";
10310e230b6Smaya   case SpvBuiltInBaryCoordSmoothSampleAMD: return "SpvBuiltInBaryCoordSmoothSampleAMD";
10410e230b6Smaya   case SpvBuiltInBaryCoordPullModelAMD: return "SpvBuiltInBaryCoordPullModelAMD";
10510e230b6Smaya   case SpvBuiltInFragStencilRefEXT: return "SpvBuiltInFragStencilRefEXT";
10610e230b6Smaya   case SpvBuiltInViewportMaskNV: return "SpvBuiltInViewportMaskNV";
10710e230b6Smaya   case SpvBuiltInSecondaryPositionNV: return "SpvBuiltInSecondaryPositionNV";
10810e230b6Smaya   case SpvBuiltInSecondaryViewportMaskNV: return "SpvBuiltInSecondaryViewportMaskNV";
10910e230b6Smaya   case SpvBuiltInPositionPerViewNV: return "SpvBuiltInPositionPerViewNV";
11010e230b6Smaya   case SpvBuiltInViewportMaskPerViewNV: return "SpvBuiltInViewportMaskPerViewNV";
11110e230b6Smaya   case SpvBuiltInFullyCoveredEXT: return "SpvBuiltInFullyCoveredEXT";
11210e230b6Smaya   case SpvBuiltInTaskCountNV: return "SpvBuiltInTaskCountNV";
11310e230b6Smaya   case SpvBuiltInPrimitiveCountNV: return "SpvBuiltInPrimitiveCountNV";
11410e230b6Smaya   case SpvBuiltInPrimitiveIndicesNV: return "SpvBuiltInPrimitiveIndicesNV";
11510e230b6Smaya   case SpvBuiltInClipDistancePerViewNV: return "SpvBuiltInClipDistancePerViewNV";
11610e230b6Smaya   case SpvBuiltInCullDistancePerViewNV: return "SpvBuiltInCullDistancePerViewNV";
11710e230b6Smaya   case SpvBuiltInLayerPerViewNV: return "SpvBuiltInLayerPerViewNV";
11810e230b6Smaya   case SpvBuiltInMeshViewCountNV: return "SpvBuiltInMeshViewCountNV";
11910e230b6Smaya   case SpvBuiltInMeshViewIndicesNV: return "SpvBuiltInMeshViewIndicesNV";
12010e230b6Smaya   case SpvBuiltInBaryCoordNV: return "SpvBuiltInBaryCoordNV";
12110e230b6Smaya   case SpvBuiltInBaryCoordNoPerspNV: return "SpvBuiltInBaryCoordNoPerspNV";
12210e230b6Smaya   case SpvBuiltInFragSizeEXT: return "SpvBuiltInFragSizeEXT";
12310e230b6Smaya   case SpvBuiltInFragInvocationCountEXT: return "SpvBuiltInFragInvocationCountEXT";
12410e230b6Smaya   case SpvBuiltInLaunchIdNV: return "SpvBuiltInLaunchIdNV";
12510e230b6Smaya   case SpvBuiltInLaunchSizeNV: return "SpvBuiltInLaunchSizeNV";
12610e230b6Smaya   case SpvBuiltInWorldRayOriginNV: return "SpvBuiltInWorldRayOriginNV";
12710e230b6Smaya   case SpvBuiltInWorldRayDirectionNV: return "SpvBuiltInWorldRayDirectionNV";
12810e230b6Smaya   case SpvBuiltInObjectRayOriginNV: return "SpvBuiltInObjectRayOriginNV";
12910e230b6Smaya   case SpvBuiltInObjectRayDirectionNV: return "SpvBuiltInObjectRayDirectionNV";
13010e230b6Smaya   case SpvBuiltInRayTminNV: return "SpvBuiltInRayTminNV";
13110e230b6Smaya   case SpvBuiltInRayTmaxNV: return "SpvBuiltInRayTmaxNV";
13210e230b6Smaya   case SpvBuiltInInstanceCustomIndexNV: return "SpvBuiltInInstanceCustomIndexNV";
13310e230b6Smaya   case SpvBuiltInObjectToWorldNV: return "SpvBuiltInObjectToWorldNV";
13410e230b6Smaya   case SpvBuiltInWorldToObjectNV: return "SpvBuiltInWorldToObjectNV";
13510e230b6Smaya   case SpvBuiltInHitTNV: return "SpvBuiltInHitTNV";
13610e230b6Smaya   case SpvBuiltInHitKindNV: return "SpvBuiltInHitKindNV";
13710e230b6Smaya   case SpvBuiltInIncomingRayFlagsNV: return "SpvBuiltInIncomingRayFlagsNV";
13896c5ddc4Srjs   case SpvBuiltInRayGeometryIndexKHR: return "SpvBuiltInRayGeometryIndexKHR";
13996c5ddc4Srjs   case SpvBuiltInWarpsPerSMNV: return "SpvBuiltInWarpsPerSMNV";
14096c5ddc4Srjs   case SpvBuiltInSMCountNV: return "SpvBuiltInSMCountNV";
14196c5ddc4Srjs   case SpvBuiltInWarpIDNV: return "SpvBuiltInWarpIDNV";
14296c5ddc4Srjs   case SpvBuiltInSMIDNV: return "SpvBuiltInSMIDNV";
14310e230b6Smaya   case SpvBuiltInMax: break; /* silence warnings about unhandled enums. */
14410e230b6Smaya   }
14510e230b6Smaya
14610e230b6Smaya   return "unknown";
14710e230b6Smaya}
14810e230b6Smaya
14910e230b6Smayaconst char *
15010e230b6Smayaspirv_capability_to_string(SpvCapability v)
15110e230b6Smaya{
15210e230b6Smaya   switch (v) {
15310e230b6Smaya   case SpvCapabilityMatrix: return "SpvCapabilityMatrix";
15410e230b6Smaya   case SpvCapabilityShader: return "SpvCapabilityShader";
15510e230b6Smaya   case SpvCapabilityGeometry: return "SpvCapabilityGeometry";
15610e230b6Smaya   case SpvCapabilityTessellation: return "SpvCapabilityTessellation";
15710e230b6Smaya   case SpvCapabilityAddresses: return "SpvCapabilityAddresses";
15810e230b6Smaya   case SpvCapabilityLinkage: return "SpvCapabilityLinkage";
15910e230b6Smaya   case SpvCapabilityKernel: return "SpvCapabilityKernel";
16010e230b6Smaya   case SpvCapabilityVector16: return "SpvCapabilityVector16";
16110e230b6Smaya   case SpvCapabilityFloat16Buffer: return "SpvCapabilityFloat16Buffer";
16210e230b6Smaya   case SpvCapabilityFloat16: return "SpvCapabilityFloat16";
16310e230b6Smaya   case SpvCapabilityFloat64: return "SpvCapabilityFloat64";
16410e230b6Smaya   case SpvCapabilityInt64: return "SpvCapabilityInt64";
16510e230b6Smaya   case SpvCapabilityInt64Atomics: return "SpvCapabilityInt64Atomics";
16610e230b6Smaya   case SpvCapabilityImageBasic: return "SpvCapabilityImageBasic";
16710e230b6Smaya   case SpvCapabilityImageReadWrite: return "SpvCapabilityImageReadWrite";
16810e230b6Smaya   case SpvCapabilityImageMipmap: return "SpvCapabilityImageMipmap";
16910e230b6Smaya   case SpvCapabilityPipes: return "SpvCapabilityPipes";
17010e230b6Smaya   case SpvCapabilityGroups: return "SpvCapabilityGroups";
17110e230b6Smaya   case SpvCapabilityDeviceEnqueue: return "SpvCapabilityDeviceEnqueue";
17210e230b6Smaya   case SpvCapabilityLiteralSampler: return "SpvCapabilityLiteralSampler";
17310e230b6Smaya   case SpvCapabilityAtomicStorage: return "SpvCapabilityAtomicStorage";
17410e230b6Smaya   case SpvCapabilityInt16: return "SpvCapabilityInt16";
17510e230b6Smaya   case SpvCapabilityTessellationPointSize: return "SpvCapabilityTessellationPointSize";
17610e230b6Smaya   case SpvCapabilityGeometryPointSize: return "SpvCapabilityGeometryPointSize";
17710e230b6Smaya   case SpvCapabilityImageGatherExtended: return "SpvCapabilityImageGatherExtended";
17810e230b6Smaya   case SpvCapabilityStorageImageMultisample: return "SpvCapabilityStorageImageMultisample";
17910e230b6Smaya   case SpvCapabilityUniformBufferArrayDynamicIndexing: return "SpvCapabilityUniformBufferArrayDynamicIndexing";
18010e230b6Smaya   case SpvCapabilitySampledImageArrayDynamicIndexing: return "SpvCapabilitySampledImageArrayDynamicIndexing";
18110e230b6Smaya   case SpvCapabilityStorageBufferArrayDynamicIndexing: return "SpvCapabilityStorageBufferArrayDynamicIndexing";
18210e230b6Smaya   case SpvCapabilityStorageImageArrayDynamicIndexing: return "SpvCapabilityStorageImageArrayDynamicIndexing";
18310e230b6Smaya   case SpvCapabilityClipDistance: return "SpvCapabilityClipDistance";
18410e230b6Smaya   case SpvCapabilityCullDistance: return "SpvCapabilityCullDistance";
18510e230b6Smaya   case SpvCapabilityImageCubeArray: return "SpvCapabilityImageCubeArray";
18610e230b6Smaya   case SpvCapabilitySampleRateShading: return "SpvCapabilitySampleRateShading";
18710e230b6Smaya   case SpvCapabilityImageRect: return "SpvCapabilityImageRect";
18810e230b6Smaya   case SpvCapabilitySampledRect: return "SpvCapabilitySampledRect";
18910e230b6Smaya   case SpvCapabilityGenericPointer: return "SpvCapabilityGenericPointer";
19010e230b6Smaya   case SpvCapabilityInt8: return "SpvCapabilityInt8";
19110e230b6Smaya   case SpvCapabilityInputAttachment: return "SpvCapabilityInputAttachment";
19210e230b6Smaya   case SpvCapabilitySparseResidency: return "SpvCapabilitySparseResidency";
19310e230b6Smaya   case SpvCapabilityMinLod: return "SpvCapabilityMinLod";
19410e230b6Smaya   case SpvCapabilitySampled1D: return "SpvCapabilitySampled1D";
19510e230b6Smaya   case SpvCapabilityImage1D: return "SpvCapabilityImage1D";
19610e230b6Smaya   case SpvCapabilitySampledCubeArray: return "SpvCapabilitySampledCubeArray";
19710e230b6Smaya   case SpvCapabilitySampledBuffer: return "SpvCapabilitySampledBuffer";
19810e230b6Smaya   case SpvCapabilityImageBuffer: return "SpvCapabilityImageBuffer";
19910e230b6Smaya   case SpvCapabilityImageMSArray: return "SpvCapabilityImageMSArray";
20010e230b6Smaya   case SpvCapabilityStorageImageExtendedFormats: return "SpvCapabilityStorageImageExtendedFormats";
20110e230b6Smaya   case SpvCapabilityImageQuery: return "SpvCapabilityImageQuery";
20210e230b6Smaya   case SpvCapabilityDerivativeControl: return "SpvCapabilityDerivativeControl";
20310e230b6Smaya   case SpvCapabilityInterpolationFunction: return "SpvCapabilityInterpolationFunction";
20410e230b6Smaya   case SpvCapabilityTransformFeedback: return "SpvCapabilityTransformFeedback";
20510e230b6Smaya   case SpvCapabilityGeometryStreams: return "SpvCapabilityGeometryStreams";
20610e230b6Smaya   case SpvCapabilityStorageImageReadWithoutFormat: return "SpvCapabilityStorageImageReadWithoutFormat";
20710e230b6Smaya   case SpvCapabilityStorageImageWriteWithoutFormat: return "SpvCapabilityStorageImageWriteWithoutFormat";
20810e230b6Smaya   case SpvCapabilityMultiViewport: return "SpvCapabilityMultiViewport";
20910e230b6Smaya   case SpvCapabilitySubgroupDispatch: return "SpvCapabilitySubgroupDispatch";
21010e230b6Smaya   case SpvCapabilityNamedBarrier: return "SpvCapabilityNamedBarrier";
21110e230b6Smaya   case SpvCapabilityPipeStorage: return "SpvCapabilityPipeStorage";
21210e230b6Smaya   case SpvCapabilityGroupNonUniform: return "SpvCapabilityGroupNonUniform";
21310e230b6Smaya   case SpvCapabilityGroupNonUniformVote: return "SpvCapabilityGroupNonUniformVote";
21410e230b6Smaya   case SpvCapabilityGroupNonUniformArithmetic: return "SpvCapabilityGroupNonUniformArithmetic";
21510e230b6Smaya   case SpvCapabilityGroupNonUniformBallot: return "SpvCapabilityGroupNonUniformBallot";
21610e230b6Smaya   case SpvCapabilityGroupNonUniformShuffle: return "SpvCapabilityGroupNonUniformShuffle";
21710e230b6Smaya   case SpvCapabilityGroupNonUniformShuffleRelative: return "SpvCapabilityGroupNonUniformShuffleRelative";
21810e230b6Smaya   case SpvCapabilityGroupNonUniformClustered: return "SpvCapabilityGroupNonUniformClustered";
21910e230b6Smaya   case SpvCapabilityGroupNonUniformQuad: return "SpvCapabilityGroupNonUniformQuad";
22096c5ddc4Srjs   case SpvCapabilityShaderLayer: return "SpvCapabilityShaderLayer";
22196c5ddc4Srjs   case SpvCapabilityShaderViewportIndex: return "SpvCapabilityShaderViewportIndex";
22296c5ddc4Srjs   case SpvCapabilityFragmentShadingRateKHR: return "SpvCapabilityFragmentShadingRateKHR";
22310e230b6Smaya   case SpvCapabilitySubgroupBallotKHR: return "SpvCapabilitySubgroupBallotKHR";
22410e230b6Smaya   case SpvCapabilityDrawParameters: return "SpvCapabilityDrawParameters";
22596c5ddc4Srjs   case SpvCapabilityWorkgroupMemoryExplicitLayoutKHR: return "SpvCapabilityWorkgroupMemoryExplicitLayoutKHR";
22696c5ddc4Srjs   case SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR: return "SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR";
22796c5ddc4Srjs   case SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR: return "SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR";
22810e230b6Smaya   case SpvCapabilitySubgroupVoteKHR: return "SpvCapabilitySubgroupVoteKHR";
22910e230b6Smaya   case SpvCapabilityStorageBuffer16BitAccess: return "SpvCapabilityStorageBuffer16BitAccess";
23010e230b6Smaya   case SpvCapabilityUniformAndStorageBuffer16BitAccess: return "SpvCapabilityUniformAndStorageBuffer16BitAccess";
23110e230b6Smaya   case SpvCapabilityStoragePushConstant16: return "SpvCapabilityStoragePushConstant16";
23210e230b6Smaya   case SpvCapabilityStorageInputOutput16: return "SpvCapabilityStorageInputOutput16";
23310e230b6Smaya   case SpvCapabilityDeviceGroup: return "SpvCapabilityDeviceGroup";
23410e230b6Smaya   case SpvCapabilityMultiView: return "SpvCapabilityMultiView";
23510e230b6Smaya   case SpvCapabilityVariablePointersStorageBuffer: return "SpvCapabilityVariablePointersStorageBuffer";
23610e230b6Smaya   case SpvCapabilityVariablePointers: return "SpvCapabilityVariablePointers";
23710e230b6Smaya   case SpvCapabilityAtomicStorageOps: return "SpvCapabilityAtomicStorageOps";
23810e230b6Smaya   case SpvCapabilitySampleMaskPostDepthCoverage: return "SpvCapabilitySampleMaskPostDepthCoverage";
23910e230b6Smaya   case SpvCapabilityStorageBuffer8BitAccess: return "SpvCapabilityStorageBuffer8BitAccess";
24010e230b6Smaya   case SpvCapabilityUniformAndStorageBuffer8BitAccess: return "SpvCapabilityUniformAndStorageBuffer8BitAccess";
24110e230b6Smaya   case SpvCapabilityStoragePushConstant8: return "SpvCapabilityStoragePushConstant8";
24210e230b6Smaya   case SpvCapabilityDenormPreserve: return "SpvCapabilityDenormPreserve";
24310e230b6Smaya   case SpvCapabilityDenormFlushToZero: return "SpvCapabilityDenormFlushToZero";
24410e230b6Smaya   case SpvCapabilitySignedZeroInfNanPreserve: return "SpvCapabilitySignedZeroInfNanPreserve";
24510e230b6Smaya   case SpvCapabilityRoundingModeRTE: return "SpvCapabilityRoundingModeRTE";
24610e230b6Smaya   case SpvCapabilityRoundingModeRTZ: return "SpvCapabilityRoundingModeRTZ";
24796c5ddc4Srjs   case SpvCapabilityRayQueryProvisionalKHR: return "SpvCapabilityRayQueryProvisionalKHR";
24896c5ddc4Srjs   case SpvCapabilityRayQueryKHR: return "SpvCapabilityRayQueryKHR";
24996c5ddc4Srjs   case SpvCapabilityRayTraversalPrimitiveCullingKHR: return "SpvCapabilityRayTraversalPrimitiveCullingKHR";
25096c5ddc4Srjs   case SpvCapabilityRayTracingKHR: return "SpvCapabilityRayTracingKHR";
25110e230b6Smaya   case SpvCapabilityFloat16ImageAMD: return "SpvCapabilityFloat16ImageAMD";
25210e230b6Smaya   case SpvCapabilityImageGatherBiasLodAMD: return "SpvCapabilityImageGatherBiasLodAMD";
25310e230b6Smaya   case SpvCapabilityFragmentMaskAMD: return "SpvCapabilityFragmentMaskAMD";
25410e230b6Smaya   case SpvCapabilityStencilExportEXT: return "SpvCapabilityStencilExportEXT";
25510e230b6Smaya   case SpvCapabilityImageReadWriteLodAMD: return "SpvCapabilityImageReadWriteLodAMD";
25696c5ddc4Srjs   case SpvCapabilityInt64ImageEXT: return "SpvCapabilityInt64ImageEXT";
25796c5ddc4Srjs   case SpvCapabilityShaderClockKHR: return "SpvCapabilityShaderClockKHR";
25810e230b6Smaya   case SpvCapabilitySampleMaskOverrideCoverageNV: return "SpvCapabilitySampleMaskOverrideCoverageNV";
25910e230b6Smaya   case SpvCapabilityGeometryShaderPassthroughNV: return "SpvCapabilityGeometryShaderPassthroughNV";
26010e230b6Smaya   case SpvCapabilityShaderViewportIndexLayerEXT: return "SpvCapabilityShaderViewportIndexLayerEXT";
26110e230b6Smaya   case SpvCapabilityShaderViewportMaskNV: return "SpvCapabilityShaderViewportMaskNV";
26210e230b6Smaya   case SpvCapabilityShaderStereoViewNV: return "SpvCapabilityShaderStereoViewNV";
26310e230b6Smaya   case SpvCapabilityPerViewAttributesNV: return "SpvCapabilityPerViewAttributesNV";
26410e230b6Smaya   case SpvCapabilityFragmentFullyCoveredEXT: return "SpvCapabilityFragmentFullyCoveredEXT";
26510e230b6Smaya   case SpvCapabilityMeshShadingNV: return "SpvCapabilityMeshShadingNV";
26610e230b6Smaya   case SpvCapabilityImageFootprintNV: return "SpvCapabilityImageFootprintNV";
26710e230b6Smaya   case SpvCapabilityFragmentBarycentricNV: return "SpvCapabilityFragmentBarycentricNV";
26810e230b6Smaya   case SpvCapabilityComputeDerivativeGroupQuadsNV: return "SpvCapabilityComputeDerivativeGroupQuadsNV";
26910e230b6Smaya   case SpvCapabilityFragmentDensityEXT: return "SpvCapabilityFragmentDensityEXT";
27096c5ddc4Srjs   case SpvCapabilityGroupNonUniformPartitionedNV: return "SpvCapabilityGroupNonUniformPartitionedNV";
27196c5ddc4Srjs   case SpvCapabilityShaderNonUniform: return "SpvCapabilityShaderNonUniform";
27296c5ddc4Srjs   case SpvCapabilityRuntimeDescriptorArray: return "SpvCapabilityRuntimeDescriptorArray";
27396c5ddc4Srjs   case SpvCapabilityInputAttachmentArrayDynamicIndexing: return "SpvCapabilityInputAttachmentArrayDynamicIndexing";
27496c5ddc4Srjs   case SpvCapabilityUniformTexelBufferArrayDynamicIndexing: return "SpvCapabilityUniformTexelBufferArrayDynamicIndexing";
27596c5ddc4Srjs   case SpvCapabilityStorageTexelBufferArrayDynamicIndexing: return "SpvCapabilityStorageTexelBufferArrayDynamicIndexing";
27696c5ddc4Srjs   case SpvCapabilityUniformBufferArrayNonUniformIndexing: return "SpvCapabilityUniformBufferArrayNonUniformIndexing";
27796c5ddc4Srjs   case SpvCapabilitySampledImageArrayNonUniformIndexing: return "SpvCapabilitySampledImageArrayNonUniformIndexing";
27896c5ddc4Srjs   case SpvCapabilityStorageBufferArrayNonUniformIndexing: return "SpvCapabilityStorageBufferArrayNonUniformIndexing";
27996c5ddc4Srjs   case SpvCapabilityStorageImageArrayNonUniformIndexing: return "SpvCapabilityStorageImageArrayNonUniformIndexing";
28096c5ddc4Srjs   case SpvCapabilityInputAttachmentArrayNonUniformIndexing: return "SpvCapabilityInputAttachmentArrayNonUniformIndexing";
28196c5ddc4Srjs   case SpvCapabilityUniformTexelBufferArrayNonUniformIndexing: return "SpvCapabilityUniformTexelBufferArrayNonUniformIndexing";
28296c5ddc4Srjs   case SpvCapabilityStorageTexelBufferArrayNonUniformIndexing: return "SpvCapabilityStorageTexelBufferArrayNonUniformIndexing";
28396c5ddc4Srjs   case SpvCapabilityRayTracingNV: return "SpvCapabilityRayTracingNV";
28496c5ddc4Srjs   case SpvCapabilityVulkanMemoryModel: return "SpvCapabilityVulkanMemoryModel";
28596c5ddc4Srjs   case SpvCapabilityVulkanMemoryModelDeviceScope: return "SpvCapabilityVulkanMemoryModelDeviceScope";
28696c5ddc4Srjs   case SpvCapabilityPhysicalStorageBufferAddresses: return "SpvCapabilityPhysicalStorageBufferAddresses";
28796c5ddc4Srjs   case SpvCapabilityComputeDerivativeGroupLinearNV: return "SpvCapabilityComputeDerivativeGroupLinearNV";
28896c5ddc4Srjs   case SpvCapabilityRayTracingProvisionalKHR: return "SpvCapabilityRayTracingProvisionalKHR";
28996c5ddc4Srjs   case SpvCapabilityCooperativeMatrixNV: return "SpvCapabilityCooperativeMatrixNV";
29096c5ddc4Srjs   case SpvCapabilityFragmentShaderSampleInterlockEXT: return "SpvCapabilityFragmentShaderSampleInterlockEXT";
29196c5ddc4Srjs   case SpvCapabilityFragmentShaderShadingRateInterlockEXT: return "SpvCapabilityFragmentShaderShadingRateInterlockEXT";
29296c5ddc4Srjs   case SpvCapabilityShaderSMBuiltinsNV: return "SpvCapabilityShaderSMBuiltinsNV";
29396c5ddc4Srjs   case SpvCapabilityFragmentShaderPixelInterlockEXT: return "SpvCapabilityFragmentShaderPixelInterlockEXT";
29496c5ddc4Srjs   case SpvCapabilityDemoteToHelperInvocationEXT: return "SpvCapabilityDemoteToHelperInvocationEXT";
29596c5ddc4Srjs   case SpvCapabilitySubgroupShuffleINTEL: return "SpvCapabilitySubgroupShuffleINTEL";
29696c5ddc4Srjs   case SpvCapabilitySubgroupBufferBlockIOINTEL: return "SpvCapabilitySubgroupBufferBlockIOINTEL";
29796c5ddc4Srjs   case SpvCapabilitySubgroupImageBlockIOINTEL: return "SpvCapabilitySubgroupImageBlockIOINTEL";
29896c5ddc4Srjs   case SpvCapabilitySubgroupImageMediaBlockIOINTEL: return "SpvCapabilitySubgroupImageMediaBlockIOINTEL";
29996c5ddc4Srjs   case SpvCapabilityRoundToInfinityINTEL: return "SpvCapabilityRoundToInfinityINTEL";
30096c5ddc4Srjs   case SpvCapabilityFloatingPointModeINTEL: return "SpvCapabilityFloatingPointModeINTEL";
30196c5ddc4Srjs   case SpvCapabilityIntegerFunctions2INTEL: return "SpvCapabilityIntegerFunctions2INTEL";
30296c5ddc4Srjs   case SpvCapabilityFunctionPointersINTEL: return "SpvCapabilityFunctionPointersINTEL";
30396c5ddc4Srjs   case SpvCapabilityIndirectReferencesINTEL: return "SpvCapabilityIndirectReferencesINTEL";
30496c5ddc4Srjs   case SpvCapabilityAsmINTEL: return "SpvCapabilityAsmINTEL";
30596c5ddc4Srjs   case SpvCapabilityAtomicFloat32MinMaxEXT: return "SpvCapabilityAtomicFloat32MinMaxEXT";
30696c5ddc4Srjs   case SpvCapabilityAtomicFloat64MinMaxEXT: return "SpvCapabilityAtomicFloat64MinMaxEXT";
30796c5ddc4Srjs   case SpvCapabilityAtomicFloat16MinMaxEXT: return "SpvCapabilityAtomicFloat16MinMaxEXT";
30896c5ddc4Srjs   case SpvCapabilityVectorComputeINTEL: return "SpvCapabilityVectorComputeINTEL";
30996c5ddc4Srjs   case SpvCapabilityVectorAnyINTEL: return "SpvCapabilityVectorAnyINTEL";
31096c5ddc4Srjs   case SpvCapabilityExpectAssumeKHR: return "SpvCapabilityExpectAssumeKHR";
31196c5ddc4Srjs   case SpvCapabilitySubgroupAvcMotionEstimationINTEL: return "SpvCapabilitySubgroupAvcMotionEstimationINTEL";
31296c5ddc4Srjs   case SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL: return "SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL";
31396c5ddc4Srjs   case SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL: return "SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL";
31496c5ddc4Srjs   case SpvCapabilityVariableLengthArrayINTEL: return "SpvCapabilityVariableLengthArrayINTEL";
31596c5ddc4Srjs   case SpvCapabilityFunctionFloatControlINTEL: return "SpvCapabilityFunctionFloatControlINTEL";
31696c5ddc4Srjs   case SpvCapabilityFPGAMemoryAttributesINTEL: return "SpvCapabilityFPGAMemoryAttributesINTEL";
31796c5ddc4Srjs   case SpvCapabilityFPFastMathModeINTEL: return "SpvCapabilityFPFastMathModeINTEL";
31896c5ddc4Srjs   case SpvCapabilityArbitraryPrecisionIntegersINTEL: return "SpvCapabilityArbitraryPrecisionIntegersINTEL";
31996c5ddc4Srjs   case SpvCapabilityArbitraryPrecisionFloatingPointINTEL: return "SpvCapabilityArbitraryPrecisionFloatingPointINTEL";
32096c5ddc4Srjs   case SpvCapabilityUnstructuredLoopControlsINTEL: return "SpvCapabilityUnstructuredLoopControlsINTEL";
32196c5ddc4Srjs   case SpvCapabilityFPGALoopControlsINTEL: return "SpvCapabilityFPGALoopControlsINTEL";
32296c5ddc4Srjs   case SpvCapabilityKernelAttributesINTEL: return "SpvCapabilityKernelAttributesINTEL";
32396c5ddc4Srjs   case SpvCapabilityFPGAKernelAttributesINTEL: return "SpvCapabilityFPGAKernelAttributesINTEL";
32496c5ddc4Srjs   case SpvCapabilityFPGAMemoryAccessesINTEL: return "SpvCapabilityFPGAMemoryAccessesINTEL";
32596c5ddc4Srjs   case SpvCapabilityFPGAClusterAttributesINTEL: return "SpvCapabilityFPGAClusterAttributesINTEL";
32696c5ddc4Srjs   case SpvCapabilityLoopFuseINTEL: return "SpvCapabilityLoopFuseINTEL";
32796c5ddc4Srjs   case SpvCapabilityFPGABufferLocationINTEL: return "SpvCapabilityFPGABufferLocationINTEL";
32896c5ddc4Srjs   case SpvCapabilityArbitraryPrecisionFixedPointINTEL: return "SpvCapabilityArbitraryPrecisionFixedPointINTEL";
32996c5ddc4Srjs   case SpvCapabilityUSMStorageClassesINTEL: return "SpvCapabilityUSMStorageClassesINTEL";
33096c5ddc4Srjs   case SpvCapabilityIOPipesINTEL: return "SpvCapabilityIOPipesINTEL";
33196c5ddc4Srjs   case SpvCapabilityBlockingPipesINTEL: return "SpvCapabilityBlockingPipesINTEL";
33296c5ddc4Srjs   case SpvCapabilityFPGARegINTEL: return "SpvCapabilityFPGARegINTEL";
33396c5ddc4Srjs   case SpvCapabilityDotProductInputAllKHR: return "SpvCapabilityDotProductInputAllKHR";
33496c5ddc4Srjs   case SpvCapabilityDotProductInput4x8BitKHR: return "SpvCapabilityDotProductInput4x8BitKHR";
33596c5ddc4Srjs   case SpvCapabilityDotProductInput4x8BitPackedKHR: return "SpvCapabilityDotProductInput4x8BitPackedKHR";
33696c5ddc4Srjs   case SpvCapabilityDotProductKHR: return "SpvCapabilityDotProductKHR";
33796c5ddc4Srjs   case SpvCapabilityBitInstructions: return "SpvCapabilityBitInstructions";
33896c5ddc4Srjs   case SpvCapabilityAtomicFloat32AddEXT: return "SpvCapabilityAtomicFloat32AddEXT";
33996c5ddc4Srjs   case SpvCapabilityAtomicFloat64AddEXT: return "SpvCapabilityAtomicFloat64AddEXT";
34096c5ddc4Srjs   case SpvCapabilityLongConstantCompositeINTEL: return "SpvCapabilityLongConstantCompositeINTEL";
34196c5ddc4Srjs   case SpvCapabilityOptNoneINTEL: return "SpvCapabilityOptNoneINTEL";
34296c5ddc4Srjs   case SpvCapabilityAtomicFloat16AddEXT: return "SpvCapabilityAtomicFloat16AddEXT";
34396c5ddc4Srjs   case SpvCapabilityDebugInfoModuleINTEL: return "SpvCapabilityDebugInfoModuleINTEL";
34410e230b6Smaya   case SpvCapabilityMax: break; /* silence warnings about unhandled enums. */
34510e230b6Smaya   }
34610e230b6Smaya
34710e230b6Smaya   return "unknown";
34810e230b6Smaya}
34910e230b6Smaya
35010e230b6Smayaconst char *
35110e230b6Smayaspirv_decoration_to_string(SpvDecoration v)
35210e230b6Smaya{
35310e230b6Smaya   switch (v) {
35410e230b6Smaya   case SpvDecorationRelaxedPrecision: return "SpvDecorationRelaxedPrecision";
35510e230b6Smaya   case SpvDecorationSpecId: return "SpvDecorationSpecId";
35610e230b6Smaya   case SpvDecorationBlock: return "SpvDecorationBlock";
35710e230b6Smaya   case SpvDecorationBufferBlock: return "SpvDecorationBufferBlock";
35810e230b6Smaya   case SpvDecorationRowMajor: return "SpvDecorationRowMajor";
35910e230b6Smaya   case SpvDecorationColMajor: return "SpvDecorationColMajor";
36010e230b6Smaya   case SpvDecorationArrayStride: return "SpvDecorationArrayStride";
36110e230b6Smaya   case SpvDecorationMatrixStride: return "SpvDecorationMatrixStride";
36210e230b6Smaya   case SpvDecorationGLSLShared: return "SpvDecorationGLSLShared";
36310e230b6Smaya   case SpvDecorationGLSLPacked: return "SpvDecorationGLSLPacked";
36410e230b6Smaya   case SpvDecorationCPacked: return "SpvDecorationCPacked";
36510e230b6Smaya   case SpvDecorationBuiltIn: return "SpvDecorationBuiltIn";
36610e230b6Smaya   case SpvDecorationNoPerspective: return "SpvDecorationNoPerspective";
36710e230b6Smaya   case SpvDecorationFlat: return "SpvDecorationFlat";
36810e230b6Smaya   case SpvDecorationPatch: return "SpvDecorationPatch";
36910e230b6Smaya   case SpvDecorationCentroid: return "SpvDecorationCentroid";
37010e230b6Smaya   case SpvDecorationSample: return "SpvDecorationSample";
37110e230b6Smaya   case SpvDecorationInvariant: return "SpvDecorationInvariant";
37210e230b6Smaya   case SpvDecorationRestrict: return "SpvDecorationRestrict";
37310e230b6Smaya   case SpvDecorationAliased: return "SpvDecorationAliased";
37410e230b6Smaya   case SpvDecorationVolatile: return "SpvDecorationVolatile";
37510e230b6Smaya   case SpvDecorationConstant: return "SpvDecorationConstant";
37610e230b6Smaya   case SpvDecorationCoherent: return "SpvDecorationCoherent";
37710e230b6Smaya   case SpvDecorationNonWritable: return "SpvDecorationNonWritable";
37810e230b6Smaya   case SpvDecorationNonReadable: return "SpvDecorationNonReadable";
37910e230b6Smaya   case SpvDecorationUniform: return "SpvDecorationUniform";
38096c5ddc4Srjs   case SpvDecorationUniformId: return "SpvDecorationUniformId";
38110e230b6Smaya   case SpvDecorationSaturatedConversion: return "SpvDecorationSaturatedConversion";
38210e230b6Smaya   case SpvDecorationStream: return "SpvDecorationStream";
38310e230b6Smaya   case SpvDecorationLocation: return "SpvDecorationLocation";
38410e230b6Smaya   case SpvDecorationComponent: return "SpvDecorationComponent";
38510e230b6Smaya   case SpvDecorationIndex: return "SpvDecorationIndex";
38610e230b6Smaya   case SpvDecorationBinding: return "SpvDecorationBinding";
38710e230b6Smaya   case SpvDecorationDescriptorSet: return "SpvDecorationDescriptorSet";
38810e230b6Smaya   case SpvDecorationOffset: return "SpvDecorationOffset";
38910e230b6Smaya   case SpvDecorationXfbBuffer: return "SpvDecorationXfbBuffer";
39010e230b6Smaya   case SpvDecorationXfbStride: return "SpvDecorationXfbStride";
39110e230b6Smaya   case SpvDecorationFuncParamAttr: return "SpvDecorationFuncParamAttr";
39210e230b6Smaya   case SpvDecorationFPRoundingMode: return "SpvDecorationFPRoundingMode";
39310e230b6Smaya   case SpvDecorationFPFastMathMode: return "SpvDecorationFPFastMathMode";
39410e230b6Smaya   case SpvDecorationLinkageAttributes: return "SpvDecorationLinkageAttributes";
39510e230b6Smaya   case SpvDecorationNoContraction: return "SpvDecorationNoContraction";
39610e230b6Smaya   case SpvDecorationInputAttachmentIndex: return "SpvDecorationInputAttachmentIndex";
39710e230b6Smaya   case SpvDecorationAlignment: return "SpvDecorationAlignment";
39810e230b6Smaya   case SpvDecorationMaxByteOffset: return "SpvDecorationMaxByteOffset";
39910e230b6Smaya   case SpvDecorationAlignmentId: return "SpvDecorationAlignmentId";
40010e230b6Smaya   case SpvDecorationMaxByteOffsetId: return "SpvDecorationMaxByteOffsetId";
40110e230b6Smaya   case SpvDecorationNoSignedWrap: return "SpvDecorationNoSignedWrap";
40210e230b6Smaya   case SpvDecorationNoUnsignedWrap: return "SpvDecorationNoUnsignedWrap";
40310e230b6Smaya   case SpvDecorationExplicitInterpAMD: return "SpvDecorationExplicitInterpAMD";
40410e230b6Smaya   case SpvDecorationOverrideCoverageNV: return "SpvDecorationOverrideCoverageNV";
40510e230b6Smaya   case SpvDecorationPassthroughNV: return "SpvDecorationPassthroughNV";
40610e230b6Smaya   case SpvDecorationViewportRelativeNV: return "SpvDecorationViewportRelativeNV";
40710e230b6Smaya   case SpvDecorationSecondaryViewportRelativeNV: return "SpvDecorationSecondaryViewportRelativeNV";
40810e230b6Smaya   case SpvDecorationPerPrimitiveNV: return "SpvDecorationPerPrimitiveNV";
40910e230b6Smaya   case SpvDecorationPerViewNV: return "SpvDecorationPerViewNV";
41010e230b6Smaya   case SpvDecorationPerTaskNV: return "SpvDecorationPerTaskNV";
41110e230b6Smaya   case SpvDecorationPerVertexNV: return "SpvDecorationPerVertexNV";
41296c5ddc4Srjs   case SpvDecorationNonUniform: return "SpvDecorationNonUniform";
41396c5ddc4Srjs   case SpvDecorationRestrictPointer: return "SpvDecorationRestrictPointer";
41496c5ddc4Srjs   case SpvDecorationAliasedPointer: return "SpvDecorationAliasedPointer";
41596c5ddc4Srjs   case SpvDecorationSIMTCallINTEL: return "SpvDecorationSIMTCallINTEL";
41696c5ddc4Srjs   case SpvDecorationReferencedIndirectlyINTEL: return "SpvDecorationReferencedIndirectlyINTEL";
41796c5ddc4Srjs   case SpvDecorationClobberINTEL: return "SpvDecorationClobberINTEL";
41896c5ddc4Srjs   case SpvDecorationSideEffectsINTEL: return "SpvDecorationSideEffectsINTEL";
41996c5ddc4Srjs   case SpvDecorationVectorComputeVariableINTEL: return "SpvDecorationVectorComputeVariableINTEL";
42096c5ddc4Srjs   case SpvDecorationFuncParamIOKindINTEL: return "SpvDecorationFuncParamIOKindINTEL";
42196c5ddc4Srjs   case SpvDecorationVectorComputeFunctionINTEL: return "SpvDecorationVectorComputeFunctionINTEL";
42296c5ddc4Srjs   case SpvDecorationStackCallINTEL: return "SpvDecorationStackCallINTEL";
42396c5ddc4Srjs   case SpvDecorationGlobalVariableOffsetINTEL: return "SpvDecorationGlobalVariableOffsetINTEL";
42496c5ddc4Srjs   case SpvDecorationCounterBuffer: return "SpvDecorationCounterBuffer";
42596c5ddc4Srjs   case SpvDecorationUserSemantic: return "SpvDecorationUserSemantic";
42696c5ddc4Srjs   case SpvDecorationUserTypeGOOGLE: return "SpvDecorationUserTypeGOOGLE";
42796c5ddc4Srjs   case SpvDecorationFunctionRoundingModeINTEL: return "SpvDecorationFunctionRoundingModeINTEL";
42896c5ddc4Srjs   case SpvDecorationFunctionDenormModeINTEL: return "SpvDecorationFunctionDenormModeINTEL";
42996c5ddc4Srjs   case SpvDecorationRegisterINTEL: return "SpvDecorationRegisterINTEL";
43096c5ddc4Srjs   case SpvDecorationMemoryINTEL: return "SpvDecorationMemoryINTEL";
43196c5ddc4Srjs   case SpvDecorationNumbanksINTEL: return "SpvDecorationNumbanksINTEL";
43296c5ddc4Srjs   case SpvDecorationBankwidthINTEL: return "SpvDecorationBankwidthINTEL";
43396c5ddc4Srjs   case SpvDecorationMaxPrivateCopiesINTEL: return "SpvDecorationMaxPrivateCopiesINTEL";
43496c5ddc4Srjs   case SpvDecorationSinglepumpINTEL: return "SpvDecorationSinglepumpINTEL";
43596c5ddc4Srjs   case SpvDecorationDoublepumpINTEL: return "SpvDecorationDoublepumpINTEL";
43696c5ddc4Srjs   case SpvDecorationMaxReplicatesINTEL: return "SpvDecorationMaxReplicatesINTEL";
43796c5ddc4Srjs   case SpvDecorationSimpleDualPortINTEL: return "SpvDecorationSimpleDualPortINTEL";
43896c5ddc4Srjs   case SpvDecorationMergeINTEL: return "SpvDecorationMergeINTEL";
43996c5ddc4Srjs   case SpvDecorationBankBitsINTEL: return "SpvDecorationBankBitsINTEL";
44096c5ddc4Srjs   case SpvDecorationForcePow2DepthINTEL: return "SpvDecorationForcePow2DepthINTEL";
44196c5ddc4Srjs   case SpvDecorationBurstCoalesceINTEL: return "SpvDecorationBurstCoalesceINTEL";
44296c5ddc4Srjs   case SpvDecorationCacheSizeINTEL: return "SpvDecorationCacheSizeINTEL";
44396c5ddc4Srjs   case SpvDecorationDontStaticallyCoalesceINTEL: return "SpvDecorationDontStaticallyCoalesceINTEL";
44496c5ddc4Srjs   case SpvDecorationPrefetchINTEL: return "SpvDecorationPrefetchINTEL";
44596c5ddc4Srjs   case SpvDecorationStallEnableINTEL: return "SpvDecorationStallEnableINTEL";
44696c5ddc4Srjs   case SpvDecorationFuseLoopsInFunctionINTEL: return "SpvDecorationFuseLoopsInFunctionINTEL";
44796c5ddc4Srjs   case SpvDecorationBufferLocationINTEL: return "SpvDecorationBufferLocationINTEL";
44896c5ddc4Srjs   case SpvDecorationIOPipeStorageINTEL: return "SpvDecorationIOPipeStorageINTEL";
44996c5ddc4Srjs   case SpvDecorationFunctionFloatingPointModeINTEL: return "SpvDecorationFunctionFloatingPointModeINTEL";
45096c5ddc4Srjs   case SpvDecorationSingleElementVectorINTEL: return "SpvDecorationSingleElementVectorINTEL";
45196c5ddc4Srjs   case SpvDecorationVectorComputeCallableFunctionINTEL: return "SpvDecorationVectorComputeCallableFunctionINTEL";
45210e230b6Smaya   case SpvDecorationMax: break; /* silence warnings about unhandled enums. */
45310e230b6Smaya   }
45410e230b6Smaya
45510e230b6Smaya   return "unknown";
45610e230b6Smaya}
45710e230b6Smaya
45810e230b6Smayaconst char *
45910e230b6Smayaspirv_dim_to_string(SpvDim v)
46010e230b6Smaya{
46110e230b6Smaya   switch (v) {
46210e230b6Smaya   case SpvDim1D: return "SpvDim1D";
46310e230b6Smaya   case SpvDim2D: return "SpvDim2D";
46410e230b6Smaya   case SpvDim3D: return "SpvDim3D";
46510e230b6Smaya   case SpvDimCube: return "SpvDimCube";
46610e230b6Smaya   case SpvDimRect: return "SpvDimRect";
46710e230b6Smaya   case SpvDimBuffer: return "SpvDimBuffer";
46810e230b6Smaya   case SpvDimSubpassData: return "SpvDimSubpassData";
46910e230b6Smaya   case SpvDimMax: break; /* silence warnings about unhandled enums. */
47010e230b6Smaya   }
47110e230b6Smaya
47210e230b6Smaya   return "unknown";
47310e230b6Smaya}
47410e230b6Smaya
47510e230b6Smayaconst char *
47610e230b6Smayaspirv_executionmode_to_string(SpvExecutionMode v)
47710e230b6Smaya{
47810e230b6Smaya   switch (v) {
47910e230b6Smaya   case SpvExecutionModeInvocations: return "SpvExecutionModeInvocations";
48010e230b6Smaya   case SpvExecutionModeSpacingEqual: return "SpvExecutionModeSpacingEqual";
48110e230b6Smaya   case SpvExecutionModeSpacingFractionalEven: return "SpvExecutionModeSpacingFractionalEven";
48210e230b6Smaya   case SpvExecutionModeSpacingFractionalOdd: return "SpvExecutionModeSpacingFractionalOdd";
48310e230b6Smaya   case SpvExecutionModeVertexOrderCw: return "SpvExecutionModeVertexOrderCw";
48410e230b6Smaya   case SpvExecutionModeVertexOrderCcw: return "SpvExecutionModeVertexOrderCcw";
48510e230b6Smaya   case SpvExecutionModePixelCenterInteger: return "SpvExecutionModePixelCenterInteger";
48610e230b6Smaya   case SpvExecutionModeOriginUpperLeft: return "SpvExecutionModeOriginUpperLeft";
48710e230b6Smaya   case SpvExecutionModeOriginLowerLeft: return "SpvExecutionModeOriginLowerLeft";
48810e230b6Smaya   case SpvExecutionModeEarlyFragmentTests: return "SpvExecutionModeEarlyFragmentTests";
48910e230b6Smaya   case SpvExecutionModePointMode: return "SpvExecutionModePointMode";
49010e230b6Smaya   case SpvExecutionModeXfb: return "SpvExecutionModeXfb";
49110e230b6Smaya   case SpvExecutionModeDepthReplacing: return "SpvExecutionModeDepthReplacing";
49210e230b6Smaya   case SpvExecutionModeDepthGreater: return "SpvExecutionModeDepthGreater";
49310e230b6Smaya   case SpvExecutionModeDepthLess: return "SpvExecutionModeDepthLess";
49410e230b6Smaya   case SpvExecutionModeDepthUnchanged: return "SpvExecutionModeDepthUnchanged";
49510e230b6Smaya   case SpvExecutionModeLocalSize: return "SpvExecutionModeLocalSize";
49610e230b6Smaya   case SpvExecutionModeLocalSizeHint: return "SpvExecutionModeLocalSizeHint";
49710e230b6Smaya   case SpvExecutionModeInputPoints: return "SpvExecutionModeInputPoints";
49810e230b6Smaya   case SpvExecutionModeInputLines: return "SpvExecutionModeInputLines";
49910e230b6Smaya   case SpvExecutionModeInputLinesAdjacency: return "SpvExecutionModeInputLinesAdjacency";
50010e230b6Smaya   case SpvExecutionModeTriangles: return "SpvExecutionModeTriangles";
50110e230b6Smaya   case SpvExecutionModeInputTrianglesAdjacency: return "SpvExecutionModeInputTrianglesAdjacency";
50210e230b6Smaya   case SpvExecutionModeQuads: return "SpvExecutionModeQuads";
50310e230b6Smaya   case SpvExecutionModeIsolines: return "SpvExecutionModeIsolines";
50410e230b6Smaya   case SpvExecutionModeOutputVertices: return "SpvExecutionModeOutputVertices";
50510e230b6Smaya   case SpvExecutionModeOutputPoints: return "SpvExecutionModeOutputPoints";
50610e230b6Smaya   case SpvExecutionModeOutputLineStrip: return "SpvExecutionModeOutputLineStrip";
50710e230b6Smaya   case SpvExecutionModeOutputTriangleStrip: return "SpvExecutionModeOutputTriangleStrip";
50810e230b6Smaya   case SpvExecutionModeVecTypeHint: return "SpvExecutionModeVecTypeHint";
50910e230b6Smaya   case SpvExecutionModeContractionOff: return "SpvExecutionModeContractionOff";
51010e230b6Smaya   case SpvExecutionModeInitializer: return "SpvExecutionModeInitializer";
51110e230b6Smaya   case SpvExecutionModeFinalizer: return "SpvExecutionModeFinalizer";
51210e230b6Smaya   case SpvExecutionModeSubgroupSize: return "SpvExecutionModeSubgroupSize";
51310e230b6Smaya   case SpvExecutionModeSubgroupsPerWorkgroup: return "SpvExecutionModeSubgroupsPerWorkgroup";
51410e230b6Smaya   case SpvExecutionModeSubgroupsPerWorkgroupId: return "SpvExecutionModeSubgroupsPerWorkgroupId";
51510e230b6Smaya   case SpvExecutionModeLocalSizeId: return "SpvExecutionModeLocalSizeId";
51610e230b6Smaya   case SpvExecutionModeLocalSizeHintId: return "SpvExecutionModeLocalSizeHintId";
51796c5ddc4Srjs   case SpvExecutionModeSubgroupUniformControlFlowKHR: return "SpvExecutionModeSubgroupUniformControlFlowKHR";
51810e230b6Smaya   case SpvExecutionModePostDepthCoverage: return "SpvExecutionModePostDepthCoverage";
51910e230b6Smaya   case SpvExecutionModeDenormPreserve: return "SpvExecutionModeDenormPreserve";
52010e230b6Smaya   case SpvExecutionModeDenormFlushToZero: return "SpvExecutionModeDenormFlushToZero";
52110e230b6Smaya   case SpvExecutionModeSignedZeroInfNanPreserve: return "SpvExecutionModeSignedZeroInfNanPreserve";
52210e230b6Smaya   case SpvExecutionModeRoundingModeRTE: return "SpvExecutionModeRoundingModeRTE";
52310e230b6Smaya   case SpvExecutionModeRoundingModeRTZ: return "SpvExecutionModeRoundingModeRTZ";
52410e230b6Smaya   case SpvExecutionModeStencilRefReplacingEXT: return "SpvExecutionModeStencilRefReplacingEXT";
52510e230b6Smaya   case SpvExecutionModeOutputLinesNV: return "SpvExecutionModeOutputLinesNV";
52610e230b6Smaya   case SpvExecutionModeOutputPrimitivesNV: return "SpvExecutionModeOutputPrimitivesNV";
52710e230b6Smaya   case SpvExecutionModeDerivativeGroupQuadsNV: return "SpvExecutionModeDerivativeGroupQuadsNV";
52810e230b6Smaya   case SpvExecutionModeDerivativeGroupLinearNV: return "SpvExecutionModeDerivativeGroupLinearNV";
52910e230b6Smaya   case SpvExecutionModeOutputTrianglesNV: return "SpvExecutionModeOutputTrianglesNV";
53096c5ddc4Srjs   case SpvExecutionModePixelInterlockOrderedEXT: return "SpvExecutionModePixelInterlockOrderedEXT";
53196c5ddc4Srjs   case SpvExecutionModePixelInterlockUnorderedEXT: return "SpvExecutionModePixelInterlockUnorderedEXT";
53296c5ddc4Srjs   case SpvExecutionModeSampleInterlockOrderedEXT: return "SpvExecutionModeSampleInterlockOrderedEXT";
53396c5ddc4Srjs   case SpvExecutionModeSampleInterlockUnorderedEXT: return "SpvExecutionModeSampleInterlockUnorderedEXT";
53496c5ddc4Srjs   case SpvExecutionModeShadingRateInterlockOrderedEXT: return "SpvExecutionModeShadingRateInterlockOrderedEXT";
53596c5ddc4Srjs   case SpvExecutionModeShadingRateInterlockUnorderedEXT: return "SpvExecutionModeShadingRateInterlockUnorderedEXT";
53696c5ddc4Srjs   case SpvExecutionModeSharedLocalMemorySizeINTEL: return "SpvExecutionModeSharedLocalMemorySizeINTEL";
53796c5ddc4Srjs   case SpvExecutionModeRoundingModeRTPINTEL: return "SpvExecutionModeRoundingModeRTPINTEL";
53896c5ddc4Srjs   case SpvExecutionModeRoundingModeRTNINTEL: return "SpvExecutionModeRoundingModeRTNINTEL";
53996c5ddc4Srjs   case SpvExecutionModeFloatingPointModeALTINTEL: return "SpvExecutionModeFloatingPointModeALTINTEL";
54096c5ddc4Srjs   case SpvExecutionModeFloatingPointModeIEEEINTEL: return "SpvExecutionModeFloatingPointModeIEEEINTEL";
54196c5ddc4Srjs   case SpvExecutionModeMaxWorkgroupSizeINTEL: return "SpvExecutionModeMaxWorkgroupSizeINTEL";
54296c5ddc4Srjs   case SpvExecutionModeMaxWorkDimINTEL: return "SpvExecutionModeMaxWorkDimINTEL";
54396c5ddc4Srjs   case SpvExecutionModeNoGlobalOffsetINTEL: return "SpvExecutionModeNoGlobalOffsetINTEL";
54496c5ddc4Srjs   case SpvExecutionModeNumSIMDWorkitemsINTEL: return "SpvExecutionModeNumSIMDWorkitemsINTEL";
54596c5ddc4Srjs   case SpvExecutionModeSchedulerTargetFmaxMhzINTEL: return "SpvExecutionModeSchedulerTargetFmaxMhzINTEL";
54610e230b6Smaya   case SpvExecutionModeMax: break; /* silence warnings about unhandled enums. */
54710e230b6Smaya   }
54810e230b6Smaya
54910e230b6Smaya   return "unknown";
55010e230b6Smaya}
55110e230b6Smaya
55210e230b6Smayaconst char *
55310e230b6Smayaspirv_executionmodel_to_string(SpvExecutionModel v)
55410e230b6Smaya{
55510e230b6Smaya   switch (v) {
55610e230b6Smaya   case SpvExecutionModelVertex: return "SpvExecutionModelVertex";
55710e230b6Smaya   case SpvExecutionModelTessellationControl: return "SpvExecutionModelTessellationControl";
55810e230b6Smaya   case SpvExecutionModelTessellationEvaluation: return "SpvExecutionModelTessellationEvaluation";
55910e230b6Smaya   case SpvExecutionModelGeometry: return "SpvExecutionModelGeometry";
56010e230b6Smaya   case SpvExecutionModelFragment: return "SpvExecutionModelFragment";
56110e230b6Smaya   case SpvExecutionModelGLCompute: return "SpvExecutionModelGLCompute";
56210e230b6Smaya   case SpvExecutionModelKernel: return "SpvExecutionModelKernel";
56310e230b6Smaya   case SpvExecutionModelTaskNV: return "SpvExecutionModelTaskNV";
56410e230b6Smaya   case SpvExecutionModelMeshNV: return "SpvExecutionModelMeshNV";
56510e230b6Smaya   case SpvExecutionModelRayGenerationNV: return "SpvExecutionModelRayGenerationNV";
56610e230b6Smaya   case SpvExecutionModelIntersectionNV: return "SpvExecutionModelIntersectionNV";
56710e230b6Smaya   case SpvExecutionModelAnyHitNV: return "SpvExecutionModelAnyHitNV";
56810e230b6Smaya   case SpvExecutionModelClosestHitNV: return "SpvExecutionModelClosestHitNV";
56910e230b6Smaya   case SpvExecutionModelMissNV: return "SpvExecutionModelMissNV";
57010e230b6Smaya   case SpvExecutionModelCallableNV: return "SpvExecutionModelCallableNV";
57110e230b6Smaya   case SpvExecutionModelMax: break; /* silence warnings about unhandled enums. */
57210e230b6Smaya   }
57310e230b6Smaya
57410e230b6Smaya   return "unknown";
57510e230b6Smaya}
57610e230b6Smaya
57710e230b6Smayaconst char *
57810e230b6Smayaspirv_imageformat_to_string(SpvImageFormat v)
57910e230b6Smaya{
58010e230b6Smaya   switch (v) {
58110e230b6Smaya   case SpvImageFormatUnknown: return "SpvImageFormatUnknown";
58210e230b6Smaya   case SpvImageFormatRgba32f: return "SpvImageFormatRgba32f";
58310e230b6Smaya   case SpvImageFormatRgba16f: return "SpvImageFormatRgba16f";
58410e230b6Smaya   case SpvImageFormatR32f: return "SpvImageFormatR32f";
58510e230b6Smaya   case SpvImageFormatRgba8: return "SpvImageFormatRgba8";
58610e230b6Smaya   case SpvImageFormatRgba8Snorm: return "SpvImageFormatRgba8Snorm";
58710e230b6Smaya   case SpvImageFormatRg32f: return "SpvImageFormatRg32f";
58810e230b6Smaya   case SpvImageFormatRg16f: return "SpvImageFormatRg16f";
58910e230b6Smaya   case SpvImageFormatR11fG11fB10f: return "SpvImageFormatR11fG11fB10f";
59010e230b6Smaya   case SpvImageFormatR16f: return "SpvImageFormatR16f";
59110e230b6Smaya   case SpvImageFormatRgba16: return "SpvImageFormatRgba16";
59210e230b6Smaya   case SpvImageFormatRgb10A2: return "SpvImageFormatRgb10A2";
59310e230b6Smaya   case SpvImageFormatRg16: return "SpvImageFormatRg16";
59410e230b6Smaya   case SpvImageFormatRg8: return "SpvImageFormatRg8";
59510e230b6Smaya   case SpvImageFormatR16: return "SpvImageFormatR16";
59610e230b6Smaya   case SpvImageFormatR8: return "SpvImageFormatR8";
59710e230b6Smaya   case SpvImageFormatRgba16Snorm: return "SpvImageFormatRgba16Snorm";
59810e230b6Smaya   case SpvImageFormatRg16Snorm: return "SpvImageFormatRg16Snorm";
59910e230b6Smaya   case SpvImageFormatRg8Snorm: return "SpvImageFormatRg8Snorm";
60010e230b6Smaya   case SpvImageFormatR16Snorm: return "SpvImageFormatR16Snorm";
60110e230b6Smaya   case SpvImageFormatR8Snorm: return "SpvImageFormatR8Snorm";
60210e230b6Smaya   case SpvImageFormatRgba32i: return "SpvImageFormatRgba32i";
60310e230b6Smaya   case SpvImageFormatRgba16i: return "SpvImageFormatRgba16i";
60410e230b6Smaya   case SpvImageFormatRgba8i: return "SpvImageFormatRgba8i";
60510e230b6Smaya   case SpvImageFormatR32i: return "SpvImageFormatR32i";
60610e230b6Smaya   case SpvImageFormatRg32i: return "SpvImageFormatRg32i";
60710e230b6Smaya   case SpvImageFormatRg16i: return "SpvImageFormatRg16i";
60810e230b6Smaya   case SpvImageFormatRg8i: return "SpvImageFormatRg8i";
60910e230b6Smaya   case SpvImageFormatR16i: return "SpvImageFormatR16i";
61010e230b6Smaya   case SpvImageFormatR8i: return "SpvImageFormatR8i";
61110e230b6Smaya   case SpvImageFormatRgba32ui: return "SpvImageFormatRgba32ui";
61210e230b6Smaya   case SpvImageFormatRgba16ui: return "SpvImageFormatRgba16ui";
61310e230b6Smaya   case SpvImageFormatRgba8ui: return "SpvImageFormatRgba8ui";
61410e230b6Smaya   case SpvImageFormatR32ui: return "SpvImageFormatR32ui";
61510e230b6Smaya   case SpvImageFormatRgb10a2ui: return "SpvImageFormatRgb10a2ui";
61610e230b6Smaya   case SpvImageFormatRg32ui: return "SpvImageFormatRg32ui";
61710e230b6Smaya   case SpvImageFormatRg16ui: return "SpvImageFormatRg16ui";
61810e230b6Smaya   case SpvImageFormatRg8ui: return "SpvImageFormatRg8ui";
61910e230b6Smaya   case SpvImageFormatR16ui: return "SpvImageFormatR16ui";
62010e230b6Smaya   case SpvImageFormatR8ui: return "SpvImageFormatR8ui";
62196c5ddc4Srjs   case SpvImageFormatR64ui: return "SpvImageFormatR64ui";
62296c5ddc4Srjs   case SpvImageFormatR64i: return "SpvImageFormatR64i";
62310e230b6Smaya   case SpvImageFormatMax: break; /* silence warnings about unhandled enums. */
62410e230b6Smaya   }
62510e230b6Smaya
62610e230b6Smaya   return "unknown";
62710e230b6Smaya}
62810e230b6Smaya
62996c5ddc4Srjsconst char *
63096c5ddc4Srjsspirv_memorymodel_to_string(SpvMemoryModel v)
63196c5ddc4Srjs{
63296c5ddc4Srjs   switch (v) {
63396c5ddc4Srjs   case SpvMemoryModelSimple: return "SpvMemoryModelSimple";
63496c5ddc4Srjs   case SpvMemoryModelGLSL450: return "SpvMemoryModelGLSL450";
63596c5ddc4Srjs   case SpvMemoryModelOpenCL: return "SpvMemoryModelOpenCL";
63696c5ddc4Srjs   case SpvMemoryModelVulkan: return "SpvMemoryModelVulkan";
63796c5ddc4Srjs   case SpvMemoryModelMax: break; /* silence warnings about unhandled enums. */
63896c5ddc4Srjs   }
63996c5ddc4Srjs
64096c5ddc4Srjs   return "unknown";
64196c5ddc4Srjs}
64296c5ddc4Srjs
64310e230b6Smayaconst char *
64410e230b6Smayaspirv_storageclass_to_string(SpvStorageClass v)
64510e230b6Smaya{
64610e230b6Smaya   switch (v) {
64710e230b6Smaya   case SpvStorageClassUniformConstant: return "SpvStorageClassUniformConstant";
64810e230b6Smaya   case SpvStorageClassInput: return "SpvStorageClassInput";
64910e230b6Smaya   case SpvStorageClassUniform: return "SpvStorageClassUniform";
65010e230b6Smaya   case SpvStorageClassOutput: return "SpvStorageClassOutput";
65110e230b6Smaya   case SpvStorageClassWorkgroup: return "SpvStorageClassWorkgroup";
65210e230b6Smaya   case SpvStorageClassCrossWorkgroup: return "SpvStorageClassCrossWorkgroup";
65310e230b6Smaya   case SpvStorageClassPrivate: return "SpvStorageClassPrivate";
65410e230b6Smaya   case SpvStorageClassFunction: return "SpvStorageClassFunction";
65510e230b6Smaya   case SpvStorageClassGeneric: return "SpvStorageClassGeneric";
65610e230b6Smaya   case SpvStorageClassPushConstant: return "SpvStorageClassPushConstant";
65710e230b6Smaya   case SpvStorageClassAtomicCounter: return "SpvStorageClassAtomicCounter";
65810e230b6Smaya   case SpvStorageClassImage: return "SpvStorageClassImage";
65910e230b6Smaya   case SpvStorageClassStorageBuffer: return "SpvStorageClassStorageBuffer";
66010e230b6Smaya   case SpvStorageClassCallableDataNV: return "SpvStorageClassCallableDataNV";
66110e230b6Smaya   case SpvStorageClassIncomingCallableDataNV: return "SpvStorageClassIncomingCallableDataNV";
66210e230b6Smaya   case SpvStorageClassRayPayloadNV: return "SpvStorageClassRayPayloadNV";
66310e230b6Smaya   case SpvStorageClassHitAttributeNV: return "SpvStorageClassHitAttributeNV";
66410e230b6Smaya   case SpvStorageClassIncomingRayPayloadNV: return "SpvStorageClassIncomingRayPayloadNV";
66510e230b6Smaya   case SpvStorageClassShaderRecordBufferNV: return "SpvStorageClassShaderRecordBufferNV";
66696c5ddc4Srjs   case SpvStorageClassPhysicalStorageBuffer: return "SpvStorageClassPhysicalStorageBuffer";
66796c5ddc4Srjs   case SpvStorageClassCodeSectionINTEL: return "SpvStorageClassCodeSectionINTEL";
66896c5ddc4Srjs   case SpvStorageClassDeviceOnlyINTEL: return "SpvStorageClassDeviceOnlyINTEL";
66996c5ddc4Srjs   case SpvStorageClassHostOnlyINTEL: return "SpvStorageClassHostOnlyINTEL";
67010e230b6Smaya   case SpvStorageClassMax: break; /* silence warnings about unhandled enums. */
67110e230b6Smaya   }
67210e230b6Smaya
67310e230b6Smaya   return "unknown";
67410e230b6Smaya}
67510e230b6Smaya
67696c5ddc4Srjsconst char *
67796c5ddc4Srjsspirv_imageoperands_to_string(SpvImageOperandsMask v)
67896c5ddc4Srjs{
67996c5ddc4Srjs   switch (v) {
68096c5ddc4Srjs   case SpvImageOperandsMaskNone: return "SpvImageOperandsNone";
68196c5ddc4Srjs   case SpvImageOperandsBiasMask: return "SpvImageOperandsBias";
68296c5ddc4Srjs   case SpvImageOperandsLodMask: return "SpvImageOperandsLod";
68396c5ddc4Srjs   case SpvImageOperandsGradMask: return "SpvImageOperandsGrad";
68496c5ddc4Srjs   case SpvImageOperandsConstOffsetMask: return "SpvImageOperandsConstOffset";
68596c5ddc4Srjs   case SpvImageOperandsOffsetMask: return "SpvImageOperandsOffset";
68696c5ddc4Srjs   case SpvImageOperandsConstOffsetsMask: return "SpvImageOperandsConstOffsets";
68796c5ddc4Srjs   case SpvImageOperandsSampleMask: return "SpvImageOperandsSample";
68896c5ddc4Srjs   case SpvImageOperandsMinLodMask: return "SpvImageOperandsMinLod";
68996c5ddc4Srjs   case SpvImageOperandsMakeTexelAvailableMask: return "SpvImageOperandsMakeTexelAvailable";
69096c5ddc4Srjs   case SpvImageOperandsMakeTexelVisibleMask: return "SpvImageOperandsMakeTexelVisible";
69196c5ddc4Srjs   case SpvImageOperandsNonPrivateTexelMask: return "SpvImageOperandsNonPrivateTexel";
69296c5ddc4Srjs   case SpvImageOperandsVolatileTexelMask: return "SpvImageOperandsVolatileTexel";
69396c5ddc4Srjs   case SpvImageOperandsSignExtendMask: return "SpvImageOperandsSignExtend";
69496c5ddc4Srjs   case SpvImageOperandsZeroExtendMask: return "SpvImageOperandsZeroExtend";
69596c5ddc4Srjs   }
69696c5ddc4Srjs
69796c5ddc4Srjs   return "unknown";
69896c5ddc4Srjs}
69996c5ddc4Srjs
70096c5ddc4Srjsconst char *
70196c5ddc4Srjsspirv_fproundingmode_to_string(SpvFPRoundingMode v)
70296c5ddc4Srjs{
70396c5ddc4Srjs   switch (v) {
70496c5ddc4Srjs   case SpvFPRoundingModeRTE: return "SpvFPRoundingModeRTE";
70596c5ddc4Srjs   case SpvFPRoundingModeRTZ: return "SpvFPRoundingModeRTZ";
70696c5ddc4Srjs   case SpvFPRoundingModeRTP: return "SpvFPRoundingModeRTP";
70796c5ddc4Srjs   case SpvFPRoundingModeRTN: return "SpvFPRoundingModeRTN";
70896c5ddc4Srjs   case SpvFPRoundingModeMax: break; /* silence warnings about unhandled enums. */
70996c5ddc4Srjs   }
71096c5ddc4Srjs
71196c5ddc4Srjs   return "unknown";
71296c5ddc4Srjs}
71396c5ddc4Srjs
71410e230b6Smayaconst char *
71510e230b6Smayaspirv_op_to_string(SpvOp v)
71610e230b6Smaya{
71710e230b6Smaya   switch (v) {
71810e230b6Smaya   case SpvOpNop: return "SpvOpNop";
71910e230b6Smaya   case SpvOpUndef: return "SpvOpUndef";
72010e230b6Smaya   case SpvOpSourceContinued: return "SpvOpSourceContinued";
72110e230b6Smaya   case SpvOpSource: return "SpvOpSource";
72210e230b6Smaya   case SpvOpSourceExtension: return "SpvOpSourceExtension";
72310e230b6Smaya   case SpvOpName: return "SpvOpName";
72410e230b6Smaya   case SpvOpMemberName: return "SpvOpMemberName";
72510e230b6Smaya   case SpvOpString: return "SpvOpString";
72610e230b6Smaya   case SpvOpLine: return "SpvOpLine";
72710e230b6Smaya   case SpvOpExtension: return "SpvOpExtension";
72810e230b6Smaya   case SpvOpExtInstImport: return "SpvOpExtInstImport";
72910e230b6Smaya   case SpvOpExtInst: return "SpvOpExtInst";
73010e230b6Smaya   case SpvOpMemoryModel: return "SpvOpMemoryModel";
73110e230b6Smaya   case SpvOpEntryPoint: return "SpvOpEntryPoint";
73210e230b6Smaya   case SpvOpExecutionMode: return "SpvOpExecutionMode";
73310e230b6Smaya   case SpvOpCapability: return "SpvOpCapability";
73410e230b6Smaya   case SpvOpTypeVoid: return "SpvOpTypeVoid";
73510e230b6Smaya   case SpvOpTypeBool: return "SpvOpTypeBool";
73610e230b6Smaya   case SpvOpTypeInt: return "SpvOpTypeInt";
73710e230b6Smaya   case SpvOpTypeFloat: return "SpvOpTypeFloat";
73810e230b6Smaya   case SpvOpTypeVector: return "SpvOpTypeVector";
73910e230b6Smaya   case SpvOpTypeMatrix: return "SpvOpTypeMatrix";
74010e230b6Smaya   case SpvOpTypeImage: return "SpvOpTypeImage";
74110e230b6Smaya   case SpvOpTypeSampler: return "SpvOpTypeSampler";
74210e230b6Smaya   case SpvOpTypeSampledImage: return "SpvOpTypeSampledImage";
74310e230b6Smaya   case SpvOpTypeArray: return "SpvOpTypeArray";
74410e230b6Smaya   case SpvOpTypeRuntimeArray: return "SpvOpTypeRuntimeArray";
74510e230b6Smaya   case SpvOpTypeStruct: return "SpvOpTypeStruct";
74610e230b6Smaya   case SpvOpTypeOpaque: return "SpvOpTypeOpaque";
74710e230b6Smaya   case SpvOpTypePointer: return "SpvOpTypePointer";
74810e230b6Smaya   case SpvOpTypeFunction: return "SpvOpTypeFunction";
74910e230b6Smaya   case SpvOpTypeEvent: return "SpvOpTypeEvent";
75010e230b6Smaya   case SpvOpTypeDeviceEvent: return "SpvOpTypeDeviceEvent";
75110e230b6Smaya   case SpvOpTypeReserveId: return "SpvOpTypeReserveId";
75210e230b6Smaya   case SpvOpTypeQueue: return "SpvOpTypeQueue";
75310e230b6Smaya   case SpvOpTypePipe: return "SpvOpTypePipe";
75410e230b6Smaya   case SpvOpTypeForwardPointer: return "SpvOpTypeForwardPointer";
75510e230b6Smaya   case SpvOpConstantTrue: return "SpvOpConstantTrue";
75610e230b6Smaya   case SpvOpConstantFalse: return "SpvOpConstantFalse";
75710e230b6Smaya   case SpvOpConstant: return "SpvOpConstant";
75810e230b6Smaya   case SpvOpConstantComposite: return "SpvOpConstantComposite";
75910e230b6Smaya   case SpvOpConstantSampler: return "SpvOpConstantSampler";
76010e230b6Smaya   case SpvOpConstantNull: return "SpvOpConstantNull";
76110e230b6Smaya   case SpvOpSpecConstantTrue: return "SpvOpSpecConstantTrue";
76210e230b6Smaya   case SpvOpSpecConstantFalse: return "SpvOpSpecConstantFalse";
76310e230b6Smaya   case SpvOpSpecConstant: return "SpvOpSpecConstant";
76410e230b6Smaya   case SpvOpSpecConstantComposite: return "SpvOpSpecConstantComposite";
76510e230b6Smaya   case SpvOpSpecConstantOp: return "SpvOpSpecConstantOp";
76610e230b6Smaya   case SpvOpFunction: return "SpvOpFunction";
76710e230b6Smaya   case SpvOpFunctionParameter: return "SpvOpFunctionParameter";
76810e230b6Smaya   case SpvOpFunctionEnd: return "SpvOpFunctionEnd";
76910e230b6Smaya   case SpvOpFunctionCall: return "SpvOpFunctionCall";
77010e230b6Smaya   case SpvOpVariable: return "SpvOpVariable";
77110e230b6Smaya   case SpvOpImageTexelPointer: return "SpvOpImageTexelPointer";
77210e230b6Smaya   case SpvOpLoad: return "SpvOpLoad";
77310e230b6Smaya   case SpvOpStore: return "SpvOpStore";
77410e230b6Smaya   case SpvOpCopyMemory: return "SpvOpCopyMemory";
77510e230b6Smaya   case SpvOpCopyMemorySized: return "SpvOpCopyMemorySized";
77610e230b6Smaya   case SpvOpAccessChain: return "SpvOpAccessChain";
77710e230b6Smaya   case SpvOpInBoundsAccessChain: return "SpvOpInBoundsAccessChain";
77810e230b6Smaya   case SpvOpPtrAccessChain: return "SpvOpPtrAccessChain";
77910e230b6Smaya   case SpvOpArrayLength: return "SpvOpArrayLength";
78010e230b6Smaya   case SpvOpGenericPtrMemSemantics: return "SpvOpGenericPtrMemSemantics";
78110e230b6Smaya   case SpvOpInBoundsPtrAccessChain: return "SpvOpInBoundsPtrAccessChain";
78210e230b6Smaya   case SpvOpDecorate: return "SpvOpDecorate";
78310e230b6Smaya   case SpvOpMemberDecorate: return "SpvOpMemberDecorate";
78410e230b6Smaya   case SpvOpDecorationGroup: return "SpvOpDecorationGroup";
78510e230b6Smaya   case SpvOpGroupDecorate: return "SpvOpGroupDecorate";
78610e230b6Smaya   case SpvOpGroupMemberDecorate: return "SpvOpGroupMemberDecorate";
78710e230b6Smaya   case SpvOpVectorExtractDynamic: return "SpvOpVectorExtractDynamic";
78810e230b6Smaya   case SpvOpVectorInsertDynamic: return "SpvOpVectorInsertDynamic";
78910e230b6Smaya   case SpvOpVectorShuffle: return "SpvOpVectorShuffle";
79010e230b6Smaya   case SpvOpCompositeConstruct: return "SpvOpCompositeConstruct";
79110e230b6Smaya   case SpvOpCompositeExtract: return "SpvOpCompositeExtract";
79210e230b6Smaya   case SpvOpCompositeInsert: return "SpvOpCompositeInsert";
79310e230b6Smaya   case SpvOpCopyObject: return "SpvOpCopyObject";
79410e230b6Smaya   case SpvOpTranspose: return "SpvOpTranspose";
79510e230b6Smaya   case SpvOpSampledImage: return "SpvOpSampledImage";
79610e230b6Smaya   case SpvOpImageSampleImplicitLod: return "SpvOpImageSampleImplicitLod";
79710e230b6Smaya   case SpvOpImageSampleExplicitLod: return "SpvOpImageSampleExplicitLod";
79810e230b6Smaya   case SpvOpImageSampleDrefImplicitLod: return "SpvOpImageSampleDrefImplicitLod";
79910e230b6Smaya   case SpvOpImageSampleDrefExplicitLod: return "SpvOpImageSampleDrefExplicitLod";
80010e230b6Smaya   case SpvOpImageSampleProjImplicitLod: return "SpvOpImageSampleProjImplicitLod";
80110e230b6Smaya   case SpvOpImageSampleProjExplicitLod: return "SpvOpImageSampleProjExplicitLod";
80210e230b6Smaya   case SpvOpImageSampleProjDrefImplicitLod: return "SpvOpImageSampleProjDrefImplicitLod";
80310e230b6Smaya   case SpvOpImageSampleProjDrefExplicitLod: return "SpvOpImageSampleProjDrefExplicitLod";
80410e230b6Smaya   case SpvOpImageFetch: return "SpvOpImageFetch";
80510e230b6Smaya   case SpvOpImageGather: return "SpvOpImageGather";
80610e230b6Smaya   case SpvOpImageDrefGather: return "SpvOpImageDrefGather";
80710e230b6Smaya   case SpvOpImageRead: return "SpvOpImageRead";
80810e230b6Smaya   case SpvOpImageWrite: return "SpvOpImageWrite";
80910e230b6Smaya   case SpvOpImage: return "SpvOpImage";
81010e230b6Smaya   case SpvOpImageQueryFormat: return "SpvOpImageQueryFormat";
81110e230b6Smaya   case SpvOpImageQueryOrder: return "SpvOpImageQueryOrder";
81210e230b6Smaya   case SpvOpImageQuerySizeLod: return "SpvOpImageQuerySizeLod";
81310e230b6Smaya   case SpvOpImageQuerySize: return "SpvOpImageQuerySize";
81410e230b6Smaya   case SpvOpImageQueryLod: return "SpvOpImageQueryLod";
81510e230b6Smaya   case SpvOpImageQueryLevels: return "SpvOpImageQueryLevels";
81610e230b6Smaya   case SpvOpImageQuerySamples: return "SpvOpImageQuerySamples";
81710e230b6Smaya   case SpvOpConvertFToU: return "SpvOpConvertFToU";
81810e230b6Smaya   case SpvOpConvertFToS: return "SpvOpConvertFToS";
81910e230b6Smaya   case SpvOpConvertSToF: return "SpvOpConvertSToF";
82010e230b6Smaya   case SpvOpConvertUToF: return "SpvOpConvertUToF";
82110e230b6Smaya   case SpvOpUConvert: return "SpvOpUConvert";
82210e230b6Smaya   case SpvOpSConvert: return "SpvOpSConvert";
82310e230b6Smaya   case SpvOpFConvert: return "SpvOpFConvert";
82410e230b6Smaya   case SpvOpQuantizeToF16: return "SpvOpQuantizeToF16";
82510e230b6Smaya   case SpvOpConvertPtrToU: return "SpvOpConvertPtrToU";
82610e230b6Smaya   case SpvOpSatConvertSToU: return "SpvOpSatConvertSToU";
82710e230b6Smaya   case SpvOpSatConvertUToS: return "SpvOpSatConvertUToS";
82810e230b6Smaya   case SpvOpConvertUToPtr: return "SpvOpConvertUToPtr";
82910e230b6Smaya   case SpvOpPtrCastToGeneric: return "SpvOpPtrCastToGeneric";
83010e230b6Smaya   case SpvOpGenericCastToPtr: return "SpvOpGenericCastToPtr";
83110e230b6Smaya   case SpvOpGenericCastToPtrExplicit: return "SpvOpGenericCastToPtrExplicit";
83210e230b6Smaya   case SpvOpBitcast: return "SpvOpBitcast";
83310e230b6Smaya   case SpvOpSNegate: return "SpvOpSNegate";
83410e230b6Smaya   case SpvOpFNegate: return "SpvOpFNegate";
83510e230b6Smaya   case SpvOpIAdd: return "SpvOpIAdd";
83610e230b6Smaya   case SpvOpFAdd: return "SpvOpFAdd";
83710e230b6Smaya   case SpvOpISub: return "SpvOpISub";
83810e230b6Smaya   case SpvOpFSub: return "SpvOpFSub";
83910e230b6Smaya   case SpvOpIMul: return "SpvOpIMul";
84010e230b6Smaya   case SpvOpFMul: return "SpvOpFMul";
84110e230b6Smaya   case SpvOpUDiv: return "SpvOpUDiv";
84210e230b6Smaya   case SpvOpSDiv: return "SpvOpSDiv";
84310e230b6Smaya   case SpvOpFDiv: return "SpvOpFDiv";
84410e230b6Smaya   case SpvOpUMod: return "SpvOpUMod";
84510e230b6Smaya   case SpvOpSRem: return "SpvOpSRem";
84610e230b6Smaya   case SpvOpSMod: return "SpvOpSMod";
84710e230b6Smaya   case SpvOpFRem: return "SpvOpFRem";
84810e230b6Smaya   case SpvOpFMod: return "SpvOpFMod";
84910e230b6Smaya   case SpvOpVectorTimesScalar: return "SpvOpVectorTimesScalar";
85010e230b6Smaya   case SpvOpMatrixTimesScalar: return "SpvOpMatrixTimesScalar";
85110e230b6Smaya   case SpvOpVectorTimesMatrix: return "SpvOpVectorTimesMatrix";
85210e230b6Smaya   case SpvOpMatrixTimesVector: return "SpvOpMatrixTimesVector";
85310e230b6Smaya   case SpvOpMatrixTimesMatrix: return "SpvOpMatrixTimesMatrix";
85410e230b6Smaya   case SpvOpOuterProduct: return "SpvOpOuterProduct";
85510e230b6Smaya   case SpvOpDot: return "SpvOpDot";
85610e230b6Smaya   case SpvOpIAddCarry: return "SpvOpIAddCarry";
85710e230b6Smaya   case SpvOpISubBorrow: return "SpvOpISubBorrow";
85810e230b6Smaya   case SpvOpUMulExtended: return "SpvOpUMulExtended";
85910e230b6Smaya   case SpvOpSMulExtended: return "SpvOpSMulExtended";
86010e230b6Smaya   case SpvOpAny: return "SpvOpAny";
86110e230b6Smaya   case SpvOpAll: return "SpvOpAll";
86210e230b6Smaya   case SpvOpIsNan: return "SpvOpIsNan";
86310e230b6Smaya   case SpvOpIsInf: return "SpvOpIsInf";
86410e230b6Smaya   case SpvOpIsFinite: return "SpvOpIsFinite";
86510e230b6Smaya   case SpvOpIsNormal: return "SpvOpIsNormal";
86610e230b6Smaya   case SpvOpSignBitSet: return "SpvOpSignBitSet";
86710e230b6Smaya   case SpvOpLessOrGreater: return "SpvOpLessOrGreater";
86810e230b6Smaya   case SpvOpOrdered: return "SpvOpOrdered";
86910e230b6Smaya   case SpvOpUnordered: return "SpvOpUnordered";
87010e230b6Smaya   case SpvOpLogicalEqual: return "SpvOpLogicalEqual";
87110e230b6Smaya   case SpvOpLogicalNotEqual: return "SpvOpLogicalNotEqual";
87210e230b6Smaya   case SpvOpLogicalOr: return "SpvOpLogicalOr";
87310e230b6Smaya   case SpvOpLogicalAnd: return "SpvOpLogicalAnd";
87410e230b6Smaya   case SpvOpLogicalNot: return "SpvOpLogicalNot";
87510e230b6Smaya   case SpvOpSelect: return "SpvOpSelect";
87610e230b6Smaya   case SpvOpIEqual: return "SpvOpIEqual";
87710e230b6Smaya   case SpvOpINotEqual: return "SpvOpINotEqual";
87810e230b6Smaya   case SpvOpUGreaterThan: return "SpvOpUGreaterThan";
87910e230b6Smaya   case SpvOpSGreaterThan: return "SpvOpSGreaterThan";
88010e230b6Smaya   case SpvOpUGreaterThanEqual: return "SpvOpUGreaterThanEqual";
88110e230b6Smaya   case SpvOpSGreaterThanEqual: return "SpvOpSGreaterThanEqual";
88210e230b6Smaya   case SpvOpULessThan: return "SpvOpULessThan";
88310e230b6Smaya   case SpvOpSLessThan: return "SpvOpSLessThan";
88410e230b6Smaya   case SpvOpULessThanEqual: return "SpvOpULessThanEqual";
88510e230b6Smaya   case SpvOpSLessThanEqual: return "SpvOpSLessThanEqual";
88610e230b6Smaya   case SpvOpFOrdEqual: return "SpvOpFOrdEqual";
88710e230b6Smaya   case SpvOpFUnordEqual: return "SpvOpFUnordEqual";
88810e230b6Smaya   case SpvOpFOrdNotEqual: return "SpvOpFOrdNotEqual";
88910e230b6Smaya   case SpvOpFUnordNotEqual: return "SpvOpFUnordNotEqual";
89010e230b6Smaya   case SpvOpFOrdLessThan: return "SpvOpFOrdLessThan";
89110e230b6Smaya   case SpvOpFUnordLessThan: return "SpvOpFUnordLessThan";
89210e230b6Smaya   case SpvOpFOrdGreaterThan: return "SpvOpFOrdGreaterThan";
89310e230b6Smaya   case SpvOpFUnordGreaterThan: return "SpvOpFUnordGreaterThan";
89410e230b6Smaya   case SpvOpFOrdLessThanEqual: return "SpvOpFOrdLessThanEqual";
89510e230b6Smaya   case SpvOpFUnordLessThanEqual: return "SpvOpFUnordLessThanEqual";
89610e230b6Smaya   case SpvOpFOrdGreaterThanEqual: return "SpvOpFOrdGreaterThanEqual";
89710e230b6Smaya   case SpvOpFUnordGreaterThanEqual: return "SpvOpFUnordGreaterThanEqual";
89810e230b6Smaya   case SpvOpShiftRightLogical: return "SpvOpShiftRightLogical";
89910e230b6Smaya   case SpvOpShiftRightArithmetic: return "SpvOpShiftRightArithmetic";
90010e230b6Smaya   case SpvOpShiftLeftLogical: return "SpvOpShiftLeftLogical";
90110e230b6Smaya   case SpvOpBitwiseOr: return "SpvOpBitwiseOr";
90210e230b6Smaya   case SpvOpBitwiseXor: return "SpvOpBitwiseXor";
90310e230b6Smaya   case SpvOpBitwiseAnd: return "SpvOpBitwiseAnd";
90410e230b6Smaya   case SpvOpNot: return "SpvOpNot";
90510e230b6Smaya   case SpvOpBitFieldInsert: return "SpvOpBitFieldInsert";
90610e230b6Smaya   case SpvOpBitFieldSExtract: return "SpvOpBitFieldSExtract";
90710e230b6Smaya   case SpvOpBitFieldUExtract: return "SpvOpBitFieldUExtract";
90810e230b6Smaya   case SpvOpBitReverse: return "SpvOpBitReverse";
90910e230b6Smaya   case SpvOpBitCount: return "SpvOpBitCount";
91010e230b6Smaya   case SpvOpDPdx: return "SpvOpDPdx";
91110e230b6Smaya   case SpvOpDPdy: return "SpvOpDPdy";
91210e230b6Smaya   case SpvOpFwidth: return "SpvOpFwidth";
91310e230b6Smaya   case SpvOpDPdxFine: return "SpvOpDPdxFine";
91410e230b6Smaya   case SpvOpDPdyFine: return "SpvOpDPdyFine";
91510e230b6Smaya   case SpvOpFwidthFine: return "SpvOpFwidthFine";
91610e230b6Smaya   case SpvOpDPdxCoarse: return "SpvOpDPdxCoarse";
91710e230b6Smaya   case SpvOpDPdyCoarse: return "SpvOpDPdyCoarse";
91810e230b6Smaya   case SpvOpFwidthCoarse: return "SpvOpFwidthCoarse";
91910e230b6Smaya   case SpvOpEmitVertex: return "SpvOpEmitVertex";
92010e230b6Smaya   case SpvOpEndPrimitive: return "SpvOpEndPrimitive";
92110e230b6Smaya   case SpvOpEmitStreamVertex: return "SpvOpEmitStreamVertex";
92210e230b6Smaya   case SpvOpEndStreamPrimitive: return "SpvOpEndStreamPrimitive";
92310e230b6Smaya   case SpvOpControlBarrier: return "SpvOpControlBarrier";
92410e230b6Smaya   case SpvOpMemoryBarrier: return "SpvOpMemoryBarrier";
92510e230b6Smaya   case SpvOpAtomicLoad: return "SpvOpAtomicLoad";
92610e230b6Smaya   case SpvOpAtomicStore: return "SpvOpAtomicStore";
92710e230b6Smaya   case SpvOpAtomicExchange: return "SpvOpAtomicExchange";
92810e230b6Smaya   case SpvOpAtomicCompareExchange: return "SpvOpAtomicCompareExchange";
92910e230b6Smaya   case SpvOpAtomicCompareExchangeWeak: return "SpvOpAtomicCompareExchangeWeak";
93010e230b6Smaya   case SpvOpAtomicIIncrement: return "SpvOpAtomicIIncrement";
93110e230b6Smaya   case SpvOpAtomicIDecrement: return "SpvOpAtomicIDecrement";
93210e230b6Smaya   case SpvOpAtomicIAdd: return "SpvOpAtomicIAdd";
93310e230b6Smaya   case SpvOpAtomicISub: return "SpvOpAtomicISub";
93410e230b6Smaya   case SpvOpAtomicSMin: return "SpvOpAtomicSMin";
93510e230b6Smaya   case SpvOpAtomicUMin: return "SpvOpAtomicUMin";
93610e230b6Smaya   case SpvOpAtomicSMax: return "SpvOpAtomicSMax";
93710e230b6Smaya   case SpvOpAtomicUMax: return "SpvOpAtomicUMax";
93810e230b6Smaya   case SpvOpAtomicAnd: return "SpvOpAtomicAnd";
93910e230b6Smaya   case SpvOpAtomicOr: return "SpvOpAtomicOr";
94010e230b6Smaya   case SpvOpAtomicXor: return "SpvOpAtomicXor";
94110e230b6Smaya   case SpvOpPhi: return "SpvOpPhi";
94210e230b6Smaya   case SpvOpLoopMerge: return "SpvOpLoopMerge";
94310e230b6Smaya   case SpvOpSelectionMerge: return "SpvOpSelectionMerge";
94410e230b6Smaya   case SpvOpLabel: return "SpvOpLabel";
94510e230b6Smaya   case SpvOpBranch: return "SpvOpBranch";
94610e230b6Smaya   case SpvOpBranchConditional: return "SpvOpBranchConditional";
94710e230b6Smaya   case SpvOpSwitch: return "SpvOpSwitch";
94810e230b6Smaya   case SpvOpKill: return "SpvOpKill";
94910e230b6Smaya   case SpvOpReturn: return "SpvOpReturn";
95010e230b6Smaya   case SpvOpReturnValue: return "SpvOpReturnValue";
95110e230b6Smaya   case SpvOpUnreachable: return "SpvOpUnreachable";
95210e230b6Smaya   case SpvOpLifetimeStart: return "SpvOpLifetimeStart";
95310e230b6Smaya   case SpvOpLifetimeStop: return "SpvOpLifetimeStop";
95410e230b6Smaya   case SpvOpGroupAsyncCopy: return "SpvOpGroupAsyncCopy";
95510e230b6Smaya   case SpvOpGroupWaitEvents: return "SpvOpGroupWaitEvents";
95610e230b6Smaya   case SpvOpGroupAll: return "SpvOpGroupAll";
95710e230b6Smaya   case SpvOpGroupAny: return "SpvOpGroupAny";
95810e230b6Smaya   case SpvOpGroupBroadcast: return "SpvOpGroupBroadcast";
95910e230b6Smaya   case SpvOpGroupIAdd: return "SpvOpGroupIAdd";
96010e230b6Smaya   case SpvOpGroupFAdd: return "SpvOpGroupFAdd";
96110e230b6Smaya   case SpvOpGroupFMin: return "SpvOpGroupFMin";
96210e230b6Smaya   case SpvOpGroupUMin: return "SpvOpGroupUMin";
96310e230b6Smaya   case SpvOpGroupSMin: return "SpvOpGroupSMin";
96410e230b6Smaya   case SpvOpGroupFMax: return "SpvOpGroupFMax";
96510e230b6Smaya   case SpvOpGroupUMax: return "SpvOpGroupUMax";
96610e230b6Smaya   case SpvOpGroupSMax: return "SpvOpGroupSMax";
96710e230b6Smaya   case SpvOpReadPipe: return "SpvOpReadPipe";
96810e230b6Smaya   case SpvOpWritePipe: return "SpvOpWritePipe";
96910e230b6Smaya   case SpvOpReservedReadPipe: return "SpvOpReservedReadPipe";
97010e230b6Smaya   case SpvOpReservedWritePipe: return "SpvOpReservedWritePipe";
97110e230b6Smaya   case SpvOpReserveReadPipePackets: return "SpvOpReserveReadPipePackets";
97210e230b6Smaya   case SpvOpReserveWritePipePackets: return "SpvOpReserveWritePipePackets";
97310e230b6Smaya   case SpvOpCommitReadPipe: return "SpvOpCommitReadPipe";
97410e230b6Smaya   case SpvOpCommitWritePipe: return "SpvOpCommitWritePipe";
97510e230b6Smaya   case SpvOpIsValidReserveId: return "SpvOpIsValidReserveId";
97610e230b6Smaya   case SpvOpGetNumPipePackets: return "SpvOpGetNumPipePackets";
97710e230b6Smaya   case SpvOpGetMaxPipePackets: return "SpvOpGetMaxPipePackets";
97810e230b6Smaya   case SpvOpGroupReserveReadPipePackets: return "SpvOpGroupReserveReadPipePackets";
97910e230b6Smaya   case SpvOpGroupReserveWritePipePackets: return "SpvOpGroupReserveWritePipePackets";
98010e230b6Smaya   case SpvOpGroupCommitReadPipe: return "SpvOpGroupCommitReadPipe";
98110e230b6Smaya   case SpvOpGroupCommitWritePipe: return "SpvOpGroupCommitWritePipe";
98210e230b6Smaya   case SpvOpEnqueueMarker: return "SpvOpEnqueueMarker";
98310e230b6Smaya   case SpvOpEnqueueKernel: return "SpvOpEnqueueKernel";
98410e230b6Smaya   case SpvOpGetKernelNDrangeSubGroupCount: return "SpvOpGetKernelNDrangeSubGroupCount";
98510e230b6Smaya   case SpvOpGetKernelNDrangeMaxSubGroupSize: return "SpvOpGetKernelNDrangeMaxSubGroupSize";
98610e230b6Smaya   case SpvOpGetKernelWorkGroupSize: return "SpvOpGetKernelWorkGroupSize";
98710e230b6Smaya   case SpvOpGetKernelPreferredWorkGroupSizeMultiple: return "SpvOpGetKernelPreferredWorkGroupSizeMultiple";
98810e230b6Smaya   case SpvOpRetainEvent: return "SpvOpRetainEvent";
98910e230b6Smaya   case SpvOpReleaseEvent: return "SpvOpReleaseEvent";
99010e230b6Smaya   case SpvOpCreateUserEvent: return "SpvOpCreateUserEvent";
99110e230b6Smaya   case SpvOpIsValidEvent: return "SpvOpIsValidEvent";
99210e230b6Smaya   case SpvOpSetUserEventStatus: return "SpvOpSetUserEventStatus";
99310e230b6Smaya   case SpvOpCaptureEventProfilingInfo: return "SpvOpCaptureEventProfilingInfo";
99410e230b6Smaya   case SpvOpGetDefaultQueue: return "SpvOpGetDefaultQueue";
99510e230b6Smaya   case SpvOpBuildNDRange: return "SpvOpBuildNDRange";
99610e230b6Smaya   case SpvOpImageSparseSampleImplicitLod: return "SpvOpImageSparseSampleImplicitLod";
99710e230b6Smaya   case SpvOpImageSparseSampleExplicitLod: return "SpvOpImageSparseSampleExplicitLod";
99810e230b6Smaya   case SpvOpImageSparseSampleDrefImplicitLod: return "SpvOpImageSparseSampleDrefImplicitLod";
99910e230b6Smaya   case SpvOpImageSparseSampleDrefExplicitLod: return "SpvOpImageSparseSampleDrefExplicitLod";
100010e230b6Smaya   case SpvOpImageSparseSampleProjImplicitLod: return "SpvOpImageSparseSampleProjImplicitLod";
100110e230b6Smaya   case SpvOpImageSparseSampleProjExplicitLod: return "SpvOpImageSparseSampleProjExplicitLod";
100210e230b6Smaya   case SpvOpImageSparseSampleProjDrefImplicitLod: return "SpvOpImageSparseSampleProjDrefImplicitLod";
100310e230b6Smaya   case SpvOpImageSparseSampleProjDrefExplicitLod: return "SpvOpImageSparseSampleProjDrefExplicitLod";
100410e230b6Smaya   case SpvOpImageSparseFetch: return "SpvOpImageSparseFetch";
100510e230b6Smaya   case SpvOpImageSparseGather: return "SpvOpImageSparseGather";
100610e230b6Smaya   case SpvOpImageSparseDrefGather: return "SpvOpImageSparseDrefGather";
100710e230b6Smaya   case SpvOpImageSparseTexelsResident: return "SpvOpImageSparseTexelsResident";
100810e230b6Smaya   case SpvOpNoLine: return "SpvOpNoLine";
100910e230b6Smaya   case SpvOpAtomicFlagTestAndSet: return "SpvOpAtomicFlagTestAndSet";
101010e230b6Smaya   case SpvOpAtomicFlagClear: return "SpvOpAtomicFlagClear";
101110e230b6Smaya   case SpvOpImageSparseRead: return "SpvOpImageSparseRead";
101210e230b6Smaya   case SpvOpSizeOf: return "SpvOpSizeOf";
101310e230b6Smaya   case SpvOpTypePipeStorage: return "SpvOpTypePipeStorage";
101410e230b6Smaya   case SpvOpConstantPipeStorage: return "SpvOpConstantPipeStorage";
101510e230b6Smaya   case SpvOpCreatePipeFromPipeStorage: return "SpvOpCreatePipeFromPipeStorage";
101610e230b6Smaya   case SpvOpGetKernelLocalSizeForSubgroupCount: return "SpvOpGetKernelLocalSizeForSubgroupCount";
101710e230b6Smaya   case SpvOpGetKernelMaxNumSubgroups: return "SpvOpGetKernelMaxNumSubgroups";
101810e230b6Smaya   case SpvOpTypeNamedBarrier: return "SpvOpTypeNamedBarrier";
101910e230b6Smaya   case SpvOpNamedBarrierInitialize: return "SpvOpNamedBarrierInitialize";
102010e230b6Smaya   case SpvOpMemoryNamedBarrier: return "SpvOpMemoryNamedBarrier";
102110e230b6Smaya   case SpvOpModuleProcessed: return "SpvOpModuleProcessed";
102210e230b6Smaya   case SpvOpExecutionModeId: return "SpvOpExecutionModeId";
102310e230b6Smaya   case SpvOpDecorateId: return "SpvOpDecorateId";
102410e230b6Smaya   case SpvOpGroupNonUniformElect: return "SpvOpGroupNonUniformElect";
102510e230b6Smaya   case SpvOpGroupNonUniformAll: return "SpvOpGroupNonUniformAll";
102610e230b6Smaya   case SpvOpGroupNonUniformAny: return "SpvOpGroupNonUniformAny";
102710e230b6Smaya   case SpvOpGroupNonUniformAllEqual: return "SpvOpGroupNonUniformAllEqual";
102810e230b6Smaya   case SpvOpGroupNonUniformBroadcast: return "SpvOpGroupNonUniformBroadcast";
102910e230b6Smaya   case SpvOpGroupNonUniformBroadcastFirst: return "SpvOpGroupNonUniformBroadcastFirst";
103010e230b6Smaya   case SpvOpGroupNonUniformBallot: return "SpvOpGroupNonUniformBallot";
103110e230b6Smaya   case SpvOpGroupNonUniformInverseBallot: return "SpvOpGroupNonUniformInverseBallot";
103210e230b6Smaya   case SpvOpGroupNonUniformBallotBitExtract: return "SpvOpGroupNonUniformBallotBitExtract";
103310e230b6Smaya   case SpvOpGroupNonUniformBallotBitCount: return "SpvOpGroupNonUniformBallotBitCount";
103410e230b6Smaya   case SpvOpGroupNonUniformBallotFindLSB: return "SpvOpGroupNonUniformBallotFindLSB";
103510e230b6Smaya   case SpvOpGroupNonUniformBallotFindMSB: return "SpvOpGroupNonUniformBallotFindMSB";
103610e230b6Smaya   case SpvOpGroupNonUniformShuffle: return "SpvOpGroupNonUniformShuffle";
103710e230b6Smaya   case SpvOpGroupNonUniformShuffleXor: return "SpvOpGroupNonUniformShuffleXor";
103810e230b6Smaya   case SpvOpGroupNonUniformShuffleUp: return "SpvOpGroupNonUniformShuffleUp";
103910e230b6Smaya   case SpvOpGroupNonUniformShuffleDown: return "SpvOpGroupNonUniformShuffleDown";
104010e230b6Smaya   case SpvOpGroupNonUniformIAdd: return "SpvOpGroupNonUniformIAdd";
104110e230b6Smaya   case SpvOpGroupNonUniformFAdd: return "SpvOpGroupNonUniformFAdd";
104210e230b6Smaya   case SpvOpGroupNonUniformIMul: return "SpvOpGroupNonUniformIMul";
104310e230b6Smaya   case SpvOpGroupNonUniformFMul: return "SpvOpGroupNonUniformFMul";
104410e230b6Smaya   case SpvOpGroupNonUniformSMin: return "SpvOpGroupNonUniformSMin";
104510e230b6Smaya   case SpvOpGroupNonUniformUMin: return "SpvOpGroupNonUniformUMin";
104610e230b6Smaya   case SpvOpGroupNonUniformFMin: return "SpvOpGroupNonUniformFMin";
104710e230b6Smaya   case SpvOpGroupNonUniformSMax: return "SpvOpGroupNonUniformSMax";
104810e230b6Smaya   case SpvOpGroupNonUniformUMax: return "SpvOpGroupNonUniformUMax";
104910e230b6Smaya   case SpvOpGroupNonUniformFMax: return "SpvOpGroupNonUniformFMax";
105010e230b6Smaya   case SpvOpGroupNonUniformBitwiseAnd: return "SpvOpGroupNonUniformBitwiseAnd";
105110e230b6Smaya   case SpvOpGroupNonUniformBitwiseOr: return "SpvOpGroupNonUniformBitwiseOr";
105210e230b6Smaya   case SpvOpGroupNonUniformBitwiseXor: return "SpvOpGroupNonUniformBitwiseXor";
105310e230b6Smaya   case SpvOpGroupNonUniformLogicalAnd: return "SpvOpGroupNonUniformLogicalAnd";
105410e230b6Smaya   case SpvOpGroupNonUniformLogicalOr: return "SpvOpGroupNonUniformLogicalOr";
105510e230b6Smaya   case SpvOpGroupNonUniformLogicalXor: return "SpvOpGroupNonUniformLogicalXor";
105610e230b6Smaya   case SpvOpGroupNonUniformQuadBroadcast: return "SpvOpGroupNonUniformQuadBroadcast";
105710e230b6Smaya   case SpvOpGroupNonUniformQuadSwap: return "SpvOpGroupNonUniformQuadSwap";
105896c5ddc4Srjs   case SpvOpCopyLogical: return "SpvOpCopyLogical";
105996c5ddc4Srjs   case SpvOpPtrEqual: return "SpvOpPtrEqual";
106096c5ddc4Srjs   case SpvOpPtrNotEqual: return "SpvOpPtrNotEqual";
106196c5ddc4Srjs   case SpvOpPtrDiff: return "SpvOpPtrDiff";
106296c5ddc4Srjs   case SpvOpTerminateInvocation: return "SpvOpTerminateInvocation";
106310e230b6Smaya   case SpvOpSubgroupBallotKHR: return "SpvOpSubgroupBallotKHR";
106410e230b6Smaya   case SpvOpSubgroupFirstInvocationKHR: return "SpvOpSubgroupFirstInvocationKHR";
106510e230b6Smaya   case SpvOpSubgroupAllKHR: return "SpvOpSubgroupAllKHR";
106610e230b6Smaya   case SpvOpSubgroupAnyKHR: return "SpvOpSubgroupAnyKHR";
106710e230b6Smaya   case SpvOpSubgroupAllEqualKHR: return "SpvOpSubgroupAllEqualKHR";
106810e230b6Smaya   case SpvOpSubgroupReadInvocationKHR: return "SpvOpSubgroupReadInvocationKHR";
106996c5ddc4Srjs   case SpvOpTraceRayKHR: return "SpvOpTraceRayKHR";
107096c5ddc4Srjs   case SpvOpExecuteCallableKHR: return "SpvOpExecuteCallableKHR";
107196c5ddc4Srjs   case SpvOpConvertUToAccelerationStructureKHR: return "SpvOpConvertUToAccelerationStructureKHR";
107296c5ddc4Srjs   case SpvOpIgnoreIntersectionKHR: return "SpvOpIgnoreIntersectionKHR";
107396c5ddc4Srjs   case SpvOpTerminateRayKHR: return "SpvOpTerminateRayKHR";
107496c5ddc4Srjs   case SpvOpSDotKHR: return "SpvOpSDotKHR";
107596c5ddc4Srjs   case SpvOpUDotKHR: return "SpvOpUDotKHR";
107696c5ddc4Srjs   case SpvOpSUDotKHR: return "SpvOpSUDotKHR";
107796c5ddc4Srjs   case SpvOpSDotAccSatKHR: return "SpvOpSDotAccSatKHR";
107896c5ddc4Srjs   case SpvOpUDotAccSatKHR: return "SpvOpUDotAccSatKHR";
107996c5ddc4Srjs   case SpvOpSUDotAccSatKHR: return "SpvOpSUDotAccSatKHR";
108096c5ddc4Srjs   case SpvOpTypeRayQueryKHR: return "SpvOpTypeRayQueryKHR";
108196c5ddc4Srjs   case SpvOpRayQueryInitializeKHR: return "SpvOpRayQueryInitializeKHR";
108296c5ddc4Srjs   case SpvOpRayQueryTerminateKHR: return "SpvOpRayQueryTerminateKHR";
108396c5ddc4Srjs   case SpvOpRayQueryGenerateIntersectionKHR: return "SpvOpRayQueryGenerateIntersectionKHR";
108496c5ddc4Srjs   case SpvOpRayQueryConfirmIntersectionKHR: return "SpvOpRayQueryConfirmIntersectionKHR";
108596c5ddc4Srjs   case SpvOpRayQueryProceedKHR: return "SpvOpRayQueryProceedKHR";
108696c5ddc4Srjs   case SpvOpRayQueryGetIntersectionTypeKHR: return "SpvOpRayQueryGetIntersectionTypeKHR";
108710e230b6Smaya   case SpvOpGroupIAddNonUniformAMD: return "SpvOpGroupIAddNonUniformAMD";
108810e230b6Smaya   case SpvOpGroupFAddNonUniformAMD: return "SpvOpGroupFAddNonUniformAMD";
108910e230b6Smaya   case SpvOpGroupFMinNonUniformAMD: return "SpvOpGroupFMinNonUniformAMD";
109010e230b6Smaya   case SpvOpGroupUMinNonUniformAMD: return "SpvOpGroupUMinNonUniformAMD";
109110e230b6Smaya   case SpvOpGroupSMinNonUniformAMD: return "SpvOpGroupSMinNonUniformAMD";
109210e230b6Smaya   case SpvOpGroupFMaxNonUniformAMD: return "SpvOpGroupFMaxNonUniformAMD";
109310e230b6Smaya   case SpvOpGroupUMaxNonUniformAMD: return "SpvOpGroupUMaxNonUniformAMD";
109410e230b6Smaya   case SpvOpGroupSMaxNonUniformAMD: return "SpvOpGroupSMaxNonUniformAMD";
109510e230b6Smaya   case SpvOpFragmentMaskFetchAMD: return "SpvOpFragmentMaskFetchAMD";
109610e230b6Smaya   case SpvOpFragmentFetchAMD: return "SpvOpFragmentFetchAMD";
109796c5ddc4Srjs   case SpvOpReadClockKHR: return "SpvOpReadClockKHR";
109896c5ddc4Srjs   case SpvOpImageSampleFootprintNV: return "SpvOpImageSampleFootprintNV";
109996c5ddc4Srjs   case SpvOpGroupNonUniformPartitionNV: return "SpvOpGroupNonUniformPartitionNV";
110010e230b6Smaya   case SpvOpWritePackedPrimitiveIndices4x8NV: return "SpvOpWritePackedPrimitiveIndices4x8NV";
110110e230b6Smaya   case SpvOpReportIntersectionNV: return "SpvOpReportIntersectionNV";
110210e230b6Smaya   case SpvOpIgnoreIntersectionNV: return "SpvOpIgnoreIntersectionNV";
110310e230b6Smaya   case SpvOpTerminateRayNV: return "SpvOpTerminateRayNV";
110410e230b6Smaya   case SpvOpTraceNV: return "SpvOpTraceNV";
110510e230b6Smaya   case SpvOpTypeAccelerationStructureNV: return "SpvOpTypeAccelerationStructureNV";
110610e230b6Smaya   case SpvOpExecuteCallableNV: return "SpvOpExecuteCallableNV";
110796c5ddc4Srjs   case SpvOpTypeCooperativeMatrixNV: return "SpvOpTypeCooperativeMatrixNV";
110896c5ddc4Srjs   case SpvOpCooperativeMatrixLoadNV: return "SpvOpCooperativeMatrixLoadNV";
110996c5ddc4Srjs   case SpvOpCooperativeMatrixStoreNV: return "SpvOpCooperativeMatrixStoreNV";
111096c5ddc4Srjs   case SpvOpCooperativeMatrixMulAddNV: return "SpvOpCooperativeMatrixMulAddNV";
111196c5ddc4Srjs   case SpvOpCooperativeMatrixLengthNV: return "SpvOpCooperativeMatrixLengthNV";
111296c5ddc4Srjs   case SpvOpBeginInvocationInterlockEXT: return "SpvOpBeginInvocationInterlockEXT";
111396c5ddc4Srjs   case SpvOpEndInvocationInterlockEXT: return "SpvOpEndInvocationInterlockEXT";
111496c5ddc4Srjs   case SpvOpDemoteToHelperInvocationEXT: return "SpvOpDemoteToHelperInvocationEXT";
111596c5ddc4Srjs   case SpvOpIsHelperInvocationEXT: return "SpvOpIsHelperInvocationEXT";
111610e230b6Smaya   case SpvOpSubgroupShuffleINTEL: return "SpvOpSubgroupShuffleINTEL";
111710e230b6Smaya   case SpvOpSubgroupShuffleDownINTEL: return "SpvOpSubgroupShuffleDownINTEL";
111810e230b6Smaya   case SpvOpSubgroupShuffleUpINTEL: return "SpvOpSubgroupShuffleUpINTEL";
111910e230b6Smaya   case SpvOpSubgroupShuffleXorINTEL: return "SpvOpSubgroupShuffleXorINTEL";
112010e230b6Smaya   case SpvOpSubgroupBlockReadINTEL: return "SpvOpSubgroupBlockReadINTEL";
112110e230b6Smaya   case SpvOpSubgroupBlockWriteINTEL: return "SpvOpSubgroupBlockWriteINTEL";
112210e230b6Smaya   case SpvOpSubgroupImageBlockReadINTEL: return "SpvOpSubgroupImageBlockReadINTEL";
112310e230b6Smaya   case SpvOpSubgroupImageBlockWriteINTEL: return "SpvOpSubgroupImageBlockWriteINTEL";
112496c5ddc4Srjs   case SpvOpSubgroupImageMediaBlockReadINTEL: return "SpvOpSubgroupImageMediaBlockReadINTEL";
112596c5ddc4Srjs   case SpvOpSubgroupImageMediaBlockWriteINTEL: return "SpvOpSubgroupImageMediaBlockWriteINTEL";
112696c5ddc4Srjs   case SpvOpUCountLeadingZerosINTEL: return "SpvOpUCountLeadingZerosINTEL";
112796c5ddc4Srjs   case SpvOpUCountTrailingZerosINTEL: return "SpvOpUCountTrailingZerosINTEL";
112896c5ddc4Srjs   case SpvOpAbsISubINTEL: return "SpvOpAbsISubINTEL";
112996c5ddc4Srjs   case SpvOpAbsUSubINTEL: return "SpvOpAbsUSubINTEL";
113096c5ddc4Srjs   case SpvOpIAddSatINTEL: return "SpvOpIAddSatINTEL";
113196c5ddc4Srjs   case SpvOpUAddSatINTEL: return "SpvOpUAddSatINTEL";
113296c5ddc4Srjs   case SpvOpIAverageINTEL: return "SpvOpIAverageINTEL";
113396c5ddc4Srjs   case SpvOpUAverageINTEL: return "SpvOpUAverageINTEL";
113496c5ddc4Srjs   case SpvOpIAverageRoundedINTEL: return "SpvOpIAverageRoundedINTEL";
113596c5ddc4Srjs   case SpvOpUAverageRoundedINTEL: return "SpvOpUAverageRoundedINTEL";
113696c5ddc4Srjs   case SpvOpISubSatINTEL: return "SpvOpISubSatINTEL";
113796c5ddc4Srjs   case SpvOpUSubSatINTEL: return "SpvOpUSubSatINTEL";
113896c5ddc4Srjs   case SpvOpIMul32x16INTEL: return "SpvOpIMul32x16INTEL";
113996c5ddc4Srjs   case SpvOpUMul32x16INTEL: return "SpvOpUMul32x16INTEL";
114096c5ddc4Srjs   case SpvOpConstFunctionPointerINTEL: return "SpvOpConstFunctionPointerINTEL";
114196c5ddc4Srjs   case SpvOpFunctionPointerCallINTEL: return "SpvOpFunctionPointerCallINTEL";
114296c5ddc4Srjs   case SpvOpAsmTargetINTEL: return "SpvOpAsmTargetINTEL";
114396c5ddc4Srjs   case SpvOpAsmINTEL: return "SpvOpAsmINTEL";
114496c5ddc4Srjs   case SpvOpAsmCallINTEL: return "SpvOpAsmCallINTEL";
114596c5ddc4Srjs   case SpvOpAtomicFMinEXT: return "SpvOpAtomicFMinEXT";
114696c5ddc4Srjs   case SpvOpAtomicFMaxEXT: return "SpvOpAtomicFMaxEXT";
114796c5ddc4Srjs   case SpvOpAssumeTrueKHR: return "SpvOpAssumeTrueKHR";
114896c5ddc4Srjs   case SpvOpExpectKHR: return "SpvOpExpectKHR";
114996c5ddc4Srjs   case SpvOpDecorateString: return "SpvOpDecorateString";
115096c5ddc4Srjs   case SpvOpMemberDecorateString: return "SpvOpMemberDecorateString";
115196c5ddc4Srjs   case SpvOpVmeImageINTEL: return "SpvOpVmeImageINTEL";
115296c5ddc4Srjs   case SpvOpTypeVmeImageINTEL: return "SpvOpTypeVmeImageINTEL";
115396c5ddc4Srjs   case SpvOpTypeAvcImePayloadINTEL: return "SpvOpTypeAvcImePayloadINTEL";
115496c5ddc4Srjs   case SpvOpTypeAvcRefPayloadINTEL: return "SpvOpTypeAvcRefPayloadINTEL";
115596c5ddc4Srjs   case SpvOpTypeAvcSicPayloadINTEL: return "SpvOpTypeAvcSicPayloadINTEL";
115696c5ddc4Srjs   case SpvOpTypeAvcMcePayloadINTEL: return "SpvOpTypeAvcMcePayloadINTEL";
115796c5ddc4Srjs   case SpvOpTypeAvcMceResultINTEL: return "SpvOpTypeAvcMceResultINTEL";
115896c5ddc4Srjs   case SpvOpTypeAvcImeResultINTEL: return "SpvOpTypeAvcImeResultINTEL";
115996c5ddc4Srjs   case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: return "SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL";
116096c5ddc4Srjs   case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: return "SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL";
116196c5ddc4Srjs   case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: return "SpvOpTypeAvcImeSingleReferenceStreaminINTEL";
116296c5ddc4Srjs   case SpvOpTypeAvcImeDualReferenceStreaminINTEL: return "SpvOpTypeAvcImeDualReferenceStreaminINTEL";
116396c5ddc4Srjs   case SpvOpTypeAvcRefResultINTEL: return "SpvOpTypeAvcRefResultINTEL";
116496c5ddc4Srjs   case SpvOpTypeAvcSicResultINTEL: return "SpvOpTypeAvcSicResultINTEL";
116596c5ddc4Srjs   case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL";
116696c5ddc4Srjs   case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: return "SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL";
116796c5ddc4Srjs   case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL";
116896c5ddc4Srjs   case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: return "SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL";
116996c5ddc4Srjs   case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL";
117096c5ddc4Srjs   case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: return "SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL";
117196c5ddc4Srjs   case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL";
117296c5ddc4Srjs   case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL";
117396c5ddc4Srjs   case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL";
117496c5ddc4Srjs   case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL";
117596c5ddc4Srjs   case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL";
117696c5ddc4Srjs   case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: return "SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL";
117796c5ddc4Srjs   case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL";
117896c5ddc4Srjs   case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL";
117996c5ddc4Srjs   case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL";
118096c5ddc4Srjs   case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: return "SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL";
118196c5ddc4Srjs   case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: return "SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL";
118296c5ddc4Srjs   case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: return "SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL";
118396c5ddc4Srjs   case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: return "SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL";
118496c5ddc4Srjs   case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: return "SpvOpSubgroupAvcMceConvertToImePayloadINTEL";
118596c5ddc4Srjs   case SpvOpSubgroupAvcMceConvertToImeResultINTEL: return "SpvOpSubgroupAvcMceConvertToImeResultINTEL";
118696c5ddc4Srjs   case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: return "SpvOpSubgroupAvcMceConvertToRefPayloadINTEL";
118796c5ddc4Srjs   case SpvOpSubgroupAvcMceConvertToRefResultINTEL: return "SpvOpSubgroupAvcMceConvertToRefResultINTEL";
118896c5ddc4Srjs   case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: return "SpvOpSubgroupAvcMceConvertToSicPayloadINTEL";
118996c5ddc4Srjs   case SpvOpSubgroupAvcMceConvertToSicResultINTEL: return "SpvOpSubgroupAvcMceConvertToSicResultINTEL";
119096c5ddc4Srjs   case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: return "SpvOpSubgroupAvcMceGetMotionVectorsINTEL";
119196c5ddc4Srjs   case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: return "SpvOpSubgroupAvcMceGetInterDistortionsINTEL";
119296c5ddc4Srjs   case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: return "SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL";
119396c5ddc4Srjs   case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: return "SpvOpSubgroupAvcMceGetInterMajorShapeINTEL";
119496c5ddc4Srjs   case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: return "SpvOpSubgroupAvcMceGetInterMinorShapeINTEL";
119596c5ddc4Srjs   case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: return "SpvOpSubgroupAvcMceGetInterDirectionsINTEL";
119696c5ddc4Srjs   case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: return "SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL";
119796c5ddc4Srjs   case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: return "SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL";
119896c5ddc4Srjs   case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: return "SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL";
119996c5ddc4Srjs   case SpvOpSubgroupAvcImeInitializeINTEL: return "SpvOpSubgroupAvcImeInitializeINTEL";
120096c5ddc4Srjs   case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: return "SpvOpSubgroupAvcImeSetSingleReferenceINTEL";
120196c5ddc4Srjs   case SpvOpSubgroupAvcImeSetDualReferenceINTEL: return "SpvOpSubgroupAvcImeSetDualReferenceINTEL";
120296c5ddc4Srjs   case SpvOpSubgroupAvcImeRefWindowSizeINTEL: return "SpvOpSubgroupAvcImeRefWindowSizeINTEL";
120396c5ddc4Srjs   case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: return "SpvOpSubgroupAvcImeAdjustRefOffsetINTEL";
120496c5ddc4Srjs   case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: return "SpvOpSubgroupAvcImeConvertToMcePayloadINTEL";
120596c5ddc4Srjs   case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: return "SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL";
120696c5ddc4Srjs   case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: return "SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL";
120796c5ddc4Srjs   case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: return "SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL";
120896c5ddc4Srjs   case SpvOpSubgroupAvcImeSetWeightedSadINTEL: return "SpvOpSubgroupAvcImeSetWeightedSadINTEL";
120996c5ddc4Srjs   case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL";
121096c5ddc4Srjs   case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL";
121196c5ddc4Srjs   case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL";
121296c5ddc4Srjs   case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL";
121396c5ddc4Srjs   case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL";
121496c5ddc4Srjs   case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL";
121596c5ddc4Srjs   case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL";
121696c5ddc4Srjs   case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL";
121796c5ddc4Srjs   case SpvOpSubgroupAvcImeConvertToMceResultINTEL: return "SpvOpSubgroupAvcImeConvertToMceResultINTEL";
121896c5ddc4Srjs   case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL";
121996c5ddc4Srjs   case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL";
122096c5ddc4Srjs   case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL";
122196c5ddc4Srjs   case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL";
122296c5ddc4Srjs   case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL";
122396c5ddc4Srjs   case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL";
122496c5ddc4Srjs   case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL";
122596c5ddc4Srjs   case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL";
122696c5ddc4Srjs   case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL";
122796c5ddc4Srjs   case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL";
122896c5ddc4Srjs   case SpvOpSubgroupAvcImeGetBorderReachedINTEL: return "SpvOpSubgroupAvcImeGetBorderReachedINTEL";
122996c5ddc4Srjs   case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: return "SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL";
123096c5ddc4Srjs   case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: return "SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL";
123196c5ddc4Srjs   case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: return "SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL";
123296c5ddc4Srjs   case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: return "SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL";
123396c5ddc4Srjs   case SpvOpSubgroupAvcFmeInitializeINTEL: return "SpvOpSubgroupAvcFmeInitializeINTEL";
123496c5ddc4Srjs   case SpvOpSubgroupAvcBmeInitializeINTEL: return "SpvOpSubgroupAvcBmeInitializeINTEL";
123596c5ddc4Srjs   case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: return "SpvOpSubgroupAvcRefConvertToMcePayloadINTEL";
123696c5ddc4Srjs   case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: return "SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL";
123796c5ddc4Srjs   case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: return "SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL";
123896c5ddc4Srjs   case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: return "SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL";
123996c5ddc4Srjs   case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: return "SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL";
124096c5ddc4Srjs   case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: return "SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL";
124196c5ddc4Srjs   case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: return "SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL";
124296c5ddc4Srjs   case SpvOpSubgroupAvcRefConvertToMceResultINTEL: return "SpvOpSubgroupAvcRefConvertToMceResultINTEL";
124396c5ddc4Srjs   case SpvOpSubgroupAvcSicInitializeINTEL: return "SpvOpSubgroupAvcSicInitializeINTEL";
124496c5ddc4Srjs   case SpvOpSubgroupAvcSicConfigureSkcINTEL: return "SpvOpSubgroupAvcSicConfigureSkcINTEL";
124596c5ddc4Srjs   case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: return "SpvOpSubgroupAvcSicConfigureIpeLumaINTEL";
124696c5ddc4Srjs   case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: return "SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL";
124796c5ddc4Srjs   case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: return "SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL";
124896c5ddc4Srjs   case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: return "SpvOpSubgroupAvcSicConvertToMcePayloadINTEL";
124996c5ddc4Srjs   case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: return "SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL";
125096c5ddc4Srjs   case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: return "SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL";
125196c5ddc4Srjs   case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: return "SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL";
125296c5ddc4Srjs   case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: return "SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL";
125396c5ddc4Srjs   case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: return "SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL";
125496c5ddc4Srjs   case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: return "SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL";
125596c5ddc4Srjs   case SpvOpSubgroupAvcSicEvaluateIpeINTEL: return "SpvOpSubgroupAvcSicEvaluateIpeINTEL";
125696c5ddc4Srjs   case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: return "SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL";
125796c5ddc4Srjs   case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: return "SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL";
125896c5ddc4Srjs   case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: return "SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL";
125996c5ddc4Srjs   case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: return "SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL";
126096c5ddc4Srjs   case SpvOpSubgroupAvcSicConvertToMceResultINTEL: return "SpvOpSubgroupAvcSicConvertToMceResultINTEL";
126196c5ddc4Srjs   case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: return "SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL";
126296c5ddc4Srjs   case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: return "SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL";
126396c5ddc4Srjs   case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: return "SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL";
126496c5ddc4Srjs   case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: return "SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL";
126596c5ddc4Srjs   case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: return "SpvOpSubgroupAvcSicGetIpeChromaModeINTEL";
126696c5ddc4Srjs   case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: return "SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL";
126796c5ddc4Srjs   case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: return "SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL";
126896c5ddc4Srjs   case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: return "SpvOpSubgroupAvcSicGetInterRawSadsINTEL";
126996c5ddc4Srjs   case SpvOpVariableLengthArrayINTEL: return "SpvOpVariableLengthArrayINTEL";
127096c5ddc4Srjs   case SpvOpSaveMemoryINTEL: return "SpvOpSaveMemoryINTEL";
127196c5ddc4Srjs   case SpvOpRestoreMemoryINTEL: return "SpvOpRestoreMemoryINTEL";
127296c5ddc4Srjs   case SpvOpArbitraryFloatSinCosPiINTEL: return "SpvOpArbitraryFloatSinCosPiINTEL";
127396c5ddc4Srjs   case SpvOpArbitraryFloatCastINTEL: return "SpvOpArbitraryFloatCastINTEL";
127496c5ddc4Srjs   case SpvOpArbitraryFloatCastFromIntINTEL: return "SpvOpArbitraryFloatCastFromIntINTEL";
127596c5ddc4Srjs   case SpvOpArbitraryFloatCastToIntINTEL: return "SpvOpArbitraryFloatCastToIntINTEL";
127696c5ddc4Srjs   case SpvOpArbitraryFloatAddINTEL: return "SpvOpArbitraryFloatAddINTEL";
127796c5ddc4Srjs   case SpvOpArbitraryFloatSubINTEL: return "SpvOpArbitraryFloatSubINTEL";
127896c5ddc4Srjs   case SpvOpArbitraryFloatMulINTEL: return "SpvOpArbitraryFloatMulINTEL";
127996c5ddc4Srjs   case SpvOpArbitraryFloatDivINTEL: return "SpvOpArbitraryFloatDivINTEL";
128096c5ddc4Srjs   case SpvOpArbitraryFloatGTINTEL: return "SpvOpArbitraryFloatGTINTEL";
128196c5ddc4Srjs   case SpvOpArbitraryFloatGEINTEL: return "SpvOpArbitraryFloatGEINTEL";
128296c5ddc4Srjs   case SpvOpArbitraryFloatLTINTEL: return "SpvOpArbitraryFloatLTINTEL";
128396c5ddc4Srjs   case SpvOpArbitraryFloatLEINTEL: return "SpvOpArbitraryFloatLEINTEL";
128496c5ddc4Srjs   case SpvOpArbitraryFloatEQINTEL: return "SpvOpArbitraryFloatEQINTEL";
128596c5ddc4Srjs   case SpvOpArbitraryFloatRecipINTEL: return "SpvOpArbitraryFloatRecipINTEL";
128696c5ddc4Srjs   case SpvOpArbitraryFloatRSqrtINTEL: return "SpvOpArbitraryFloatRSqrtINTEL";
128796c5ddc4Srjs   case SpvOpArbitraryFloatCbrtINTEL: return "SpvOpArbitraryFloatCbrtINTEL";
128896c5ddc4Srjs   case SpvOpArbitraryFloatHypotINTEL: return "SpvOpArbitraryFloatHypotINTEL";
128996c5ddc4Srjs   case SpvOpArbitraryFloatSqrtINTEL: return "SpvOpArbitraryFloatSqrtINTEL";
129096c5ddc4Srjs   case SpvOpArbitraryFloatLogINTEL: return "SpvOpArbitraryFloatLogINTEL";
129196c5ddc4Srjs   case SpvOpArbitraryFloatLog2INTEL: return "SpvOpArbitraryFloatLog2INTEL";
129296c5ddc4Srjs   case SpvOpArbitraryFloatLog10INTEL: return "SpvOpArbitraryFloatLog10INTEL";
129396c5ddc4Srjs   case SpvOpArbitraryFloatLog1pINTEL: return "SpvOpArbitraryFloatLog1pINTEL";
129496c5ddc4Srjs   case SpvOpArbitraryFloatExpINTEL: return "SpvOpArbitraryFloatExpINTEL";
129596c5ddc4Srjs   case SpvOpArbitraryFloatExp2INTEL: return "SpvOpArbitraryFloatExp2INTEL";
129696c5ddc4Srjs   case SpvOpArbitraryFloatExp10INTEL: return "SpvOpArbitraryFloatExp10INTEL";
129796c5ddc4Srjs   case SpvOpArbitraryFloatExpm1INTEL: return "SpvOpArbitraryFloatExpm1INTEL";
129896c5ddc4Srjs   case SpvOpArbitraryFloatSinINTEL: return "SpvOpArbitraryFloatSinINTEL";
129996c5ddc4Srjs   case SpvOpArbitraryFloatCosINTEL: return "SpvOpArbitraryFloatCosINTEL";
130096c5ddc4Srjs   case SpvOpArbitraryFloatSinCosINTEL: return "SpvOpArbitraryFloatSinCosINTEL";
130196c5ddc4Srjs   case SpvOpArbitraryFloatSinPiINTEL: return "SpvOpArbitraryFloatSinPiINTEL";
130296c5ddc4Srjs   case SpvOpArbitraryFloatCosPiINTEL: return "SpvOpArbitraryFloatCosPiINTEL";
130396c5ddc4Srjs   case SpvOpArbitraryFloatASinINTEL: return "SpvOpArbitraryFloatASinINTEL";
130496c5ddc4Srjs   case SpvOpArbitraryFloatASinPiINTEL: return "SpvOpArbitraryFloatASinPiINTEL";
130596c5ddc4Srjs   case SpvOpArbitraryFloatACosINTEL: return "SpvOpArbitraryFloatACosINTEL";
130696c5ddc4Srjs   case SpvOpArbitraryFloatACosPiINTEL: return "SpvOpArbitraryFloatACosPiINTEL";
130796c5ddc4Srjs   case SpvOpArbitraryFloatATanINTEL: return "SpvOpArbitraryFloatATanINTEL";
130896c5ddc4Srjs   case SpvOpArbitraryFloatATanPiINTEL: return "SpvOpArbitraryFloatATanPiINTEL";
130996c5ddc4Srjs   case SpvOpArbitraryFloatATan2INTEL: return "SpvOpArbitraryFloatATan2INTEL";
131096c5ddc4Srjs   case SpvOpArbitraryFloatPowINTEL: return "SpvOpArbitraryFloatPowINTEL";
131196c5ddc4Srjs   case SpvOpArbitraryFloatPowRINTEL: return "SpvOpArbitraryFloatPowRINTEL";
131296c5ddc4Srjs   case SpvOpArbitraryFloatPowNINTEL: return "SpvOpArbitraryFloatPowNINTEL";
131396c5ddc4Srjs   case SpvOpLoopControlINTEL: return "SpvOpLoopControlINTEL";
131496c5ddc4Srjs   case SpvOpFixedSqrtINTEL: return "SpvOpFixedSqrtINTEL";
131596c5ddc4Srjs   case SpvOpFixedRecipINTEL: return "SpvOpFixedRecipINTEL";
131696c5ddc4Srjs   case SpvOpFixedRsqrtINTEL: return "SpvOpFixedRsqrtINTEL";
131796c5ddc4Srjs   case SpvOpFixedSinINTEL: return "SpvOpFixedSinINTEL";
131896c5ddc4Srjs   case SpvOpFixedCosINTEL: return "SpvOpFixedCosINTEL";
131996c5ddc4Srjs   case SpvOpFixedSinCosINTEL: return "SpvOpFixedSinCosINTEL";
132096c5ddc4Srjs   case SpvOpFixedSinPiINTEL: return "SpvOpFixedSinPiINTEL";
132196c5ddc4Srjs   case SpvOpFixedCosPiINTEL: return "SpvOpFixedCosPiINTEL";
132296c5ddc4Srjs   case SpvOpFixedSinCosPiINTEL: return "SpvOpFixedSinCosPiINTEL";
132396c5ddc4Srjs   case SpvOpFixedLogINTEL: return "SpvOpFixedLogINTEL";
132496c5ddc4Srjs   case SpvOpFixedExpINTEL: return "SpvOpFixedExpINTEL";
132596c5ddc4Srjs   case SpvOpPtrCastToCrossWorkgroupINTEL: return "SpvOpPtrCastToCrossWorkgroupINTEL";
132696c5ddc4Srjs   case SpvOpCrossWorkgroupCastToPtrINTEL: return "SpvOpCrossWorkgroupCastToPtrINTEL";
132796c5ddc4Srjs   case SpvOpReadPipeBlockingINTEL: return "SpvOpReadPipeBlockingINTEL";
132896c5ddc4Srjs   case SpvOpWritePipeBlockingINTEL: return "SpvOpWritePipeBlockingINTEL";
132996c5ddc4Srjs   case SpvOpFPGARegINTEL: return "SpvOpFPGARegINTEL";
133096c5ddc4Srjs   case SpvOpRayQueryGetRayTMinKHR: return "SpvOpRayQueryGetRayTMinKHR";
133196c5ddc4Srjs   case SpvOpRayQueryGetRayFlagsKHR: return "SpvOpRayQueryGetRayFlagsKHR";
133296c5ddc4Srjs   case SpvOpRayQueryGetIntersectionTKHR: return "SpvOpRayQueryGetIntersectionTKHR";
133396c5ddc4Srjs   case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: return "SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR";
133496c5ddc4Srjs   case SpvOpRayQueryGetIntersectionInstanceIdKHR: return "SpvOpRayQueryGetIntersectionInstanceIdKHR";
133596c5ddc4Srjs   case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: return "SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR";
133696c5ddc4Srjs   case SpvOpRayQueryGetIntersectionGeometryIndexKHR: return "SpvOpRayQueryGetIntersectionGeometryIndexKHR";
133796c5ddc4Srjs   case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: return "SpvOpRayQueryGetIntersectionPrimitiveIndexKHR";
133896c5ddc4Srjs   case SpvOpRayQueryGetIntersectionBarycentricsKHR: return "SpvOpRayQueryGetIntersectionBarycentricsKHR";
133996c5ddc4Srjs   case SpvOpRayQueryGetIntersectionFrontFaceKHR: return "SpvOpRayQueryGetIntersectionFrontFaceKHR";
134096c5ddc4Srjs   case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: return "SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR";
134196c5ddc4Srjs   case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: return "SpvOpRayQueryGetIntersectionObjectRayDirectionKHR";
134296c5ddc4Srjs   case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: return "SpvOpRayQueryGetIntersectionObjectRayOriginKHR";
134396c5ddc4Srjs   case SpvOpRayQueryGetWorldRayDirectionKHR: return "SpvOpRayQueryGetWorldRayDirectionKHR";
134496c5ddc4Srjs   case SpvOpRayQueryGetWorldRayOriginKHR: return "SpvOpRayQueryGetWorldRayOriginKHR";
134596c5ddc4Srjs   case SpvOpRayQueryGetIntersectionObjectToWorldKHR: return "SpvOpRayQueryGetIntersectionObjectToWorldKHR";
134696c5ddc4Srjs   case SpvOpRayQueryGetIntersectionWorldToObjectKHR: return "SpvOpRayQueryGetIntersectionWorldToObjectKHR";
134796c5ddc4Srjs   case SpvOpAtomicFAddEXT: return "SpvOpAtomicFAddEXT";
134896c5ddc4Srjs   case SpvOpTypeBufferSurfaceINTEL: return "SpvOpTypeBufferSurfaceINTEL";
134996c5ddc4Srjs   case SpvOpTypeStructContinuedINTEL: return "SpvOpTypeStructContinuedINTEL";
135096c5ddc4Srjs   case SpvOpConstantCompositeContinuedINTEL: return "SpvOpConstantCompositeContinuedINTEL";
135196c5ddc4Srjs   case SpvOpSpecConstantCompositeContinuedINTEL: return "SpvOpSpecConstantCompositeContinuedINTEL";
135210e230b6Smaya   case SpvOpMax: break; /* silence warnings about unhandled enums. */
135310e230b6Smaya   }
135410e230b6Smaya
135510e230b6Smaya   return "unknown";
135610e230b6Smaya}
1357