spirv_info.c revision 96c5ddc4
1/* DO NOT EDIT - This file is generated automatically by spirv_info_c.py script */
2
3/*
4 * Copyright (C) 2017 Intel Corporation
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice (including the next
14 * paragraph) shall be included in all copies or substantial portions of the
15 * Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23 * DEALINGS IN THE SOFTWARE.
24 */
25#include "spirv_info.h"
26
27const char *
28spirv_addressingmodel_to_string(SpvAddressingModel v)
29{
30   switch (v) {
31   case SpvAddressingModelLogical: return "SpvAddressingModelLogical";
32   case SpvAddressingModelPhysical32: return "SpvAddressingModelPhysical32";
33   case SpvAddressingModelPhysical64: return "SpvAddressingModelPhysical64";
34   case SpvAddressingModelPhysicalStorageBuffer64: return "SpvAddressingModelPhysicalStorageBuffer64";
35   case SpvAddressingModelMax: break; /* silence warnings about unhandled enums. */
36   }
37
38   return "unknown";
39}
40
41const char *
42spirv_builtin_to_string(SpvBuiltIn v)
43{
44   switch (v) {
45   case SpvBuiltInPosition: return "SpvBuiltInPosition";
46   case SpvBuiltInPointSize: return "SpvBuiltInPointSize";
47   case SpvBuiltInClipDistance: return "SpvBuiltInClipDistance";
48   case SpvBuiltInCullDistance: return "SpvBuiltInCullDistance";
49   case SpvBuiltInVertexId: return "SpvBuiltInVertexId";
50   case SpvBuiltInInstanceId: return "SpvBuiltInInstanceId";
51   case SpvBuiltInPrimitiveId: return "SpvBuiltInPrimitiveId";
52   case SpvBuiltInInvocationId: return "SpvBuiltInInvocationId";
53   case SpvBuiltInLayer: return "SpvBuiltInLayer";
54   case SpvBuiltInViewportIndex: return "SpvBuiltInViewportIndex";
55   case SpvBuiltInTessLevelOuter: return "SpvBuiltInTessLevelOuter";
56   case SpvBuiltInTessLevelInner: return "SpvBuiltInTessLevelInner";
57   case SpvBuiltInTessCoord: return "SpvBuiltInTessCoord";
58   case SpvBuiltInPatchVertices: return "SpvBuiltInPatchVertices";
59   case SpvBuiltInFragCoord: return "SpvBuiltInFragCoord";
60   case SpvBuiltInPointCoord: return "SpvBuiltInPointCoord";
61   case SpvBuiltInFrontFacing: return "SpvBuiltInFrontFacing";
62   case SpvBuiltInSampleId: return "SpvBuiltInSampleId";
63   case SpvBuiltInSamplePosition: return "SpvBuiltInSamplePosition";
64   case SpvBuiltInSampleMask: return "SpvBuiltInSampleMask";
65   case SpvBuiltInFragDepth: return "SpvBuiltInFragDepth";
66   case SpvBuiltInHelperInvocation: return "SpvBuiltInHelperInvocation";
67   case SpvBuiltInNumWorkgroups: return "SpvBuiltInNumWorkgroups";
68   case SpvBuiltInWorkgroupSize: return "SpvBuiltInWorkgroupSize";
69   case SpvBuiltInWorkgroupId: return "SpvBuiltInWorkgroupId";
70   case SpvBuiltInLocalInvocationId: return "SpvBuiltInLocalInvocationId";
71   case SpvBuiltInGlobalInvocationId: return "SpvBuiltInGlobalInvocationId";
72   case SpvBuiltInLocalInvocationIndex: return "SpvBuiltInLocalInvocationIndex";
73   case SpvBuiltInWorkDim: return "SpvBuiltInWorkDim";
74   case SpvBuiltInGlobalSize: return "SpvBuiltInGlobalSize";
75   case SpvBuiltInEnqueuedWorkgroupSize: return "SpvBuiltInEnqueuedWorkgroupSize";
76   case SpvBuiltInGlobalOffset: return "SpvBuiltInGlobalOffset";
77   case SpvBuiltInGlobalLinearId: return "SpvBuiltInGlobalLinearId";
78   case SpvBuiltInSubgroupSize: return "SpvBuiltInSubgroupSize";
79   case SpvBuiltInSubgroupMaxSize: return "SpvBuiltInSubgroupMaxSize";
80   case SpvBuiltInNumSubgroups: return "SpvBuiltInNumSubgroups";
81   case SpvBuiltInNumEnqueuedSubgroups: return "SpvBuiltInNumEnqueuedSubgroups";
82   case SpvBuiltInSubgroupId: return "SpvBuiltInSubgroupId";
83   case SpvBuiltInSubgroupLocalInvocationId: return "SpvBuiltInSubgroupLocalInvocationId";
84   case SpvBuiltInVertexIndex: return "SpvBuiltInVertexIndex";
85   case SpvBuiltInInstanceIndex: return "SpvBuiltInInstanceIndex";
86   case SpvBuiltInSubgroupEqMask: return "SpvBuiltInSubgroupEqMask";
87   case SpvBuiltInSubgroupGeMask: return "SpvBuiltInSubgroupGeMask";
88   case SpvBuiltInSubgroupGtMask: return "SpvBuiltInSubgroupGtMask";
89   case SpvBuiltInSubgroupLeMask: return "SpvBuiltInSubgroupLeMask";
90   case SpvBuiltInSubgroupLtMask: return "SpvBuiltInSubgroupLtMask";
91   case SpvBuiltInBaseVertex: return "SpvBuiltInBaseVertex";
92   case SpvBuiltInBaseInstance: return "SpvBuiltInBaseInstance";
93   case SpvBuiltInDrawIndex: return "SpvBuiltInDrawIndex";
94   case SpvBuiltInPrimitiveShadingRateKHR: return "SpvBuiltInPrimitiveShadingRateKHR";
95   case SpvBuiltInDeviceIndex: return "SpvBuiltInDeviceIndex";
96   case SpvBuiltInViewIndex: return "SpvBuiltInViewIndex";
97   case SpvBuiltInShadingRateKHR: return "SpvBuiltInShadingRateKHR";
98   case SpvBuiltInBaryCoordNoPerspAMD: return "SpvBuiltInBaryCoordNoPerspAMD";
99   case SpvBuiltInBaryCoordNoPerspCentroidAMD: return "SpvBuiltInBaryCoordNoPerspCentroidAMD";
100   case SpvBuiltInBaryCoordNoPerspSampleAMD: return "SpvBuiltInBaryCoordNoPerspSampleAMD";
101   case SpvBuiltInBaryCoordSmoothAMD: return "SpvBuiltInBaryCoordSmoothAMD";
102   case SpvBuiltInBaryCoordSmoothCentroidAMD: return "SpvBuiltInBaryCoordSmoothCentroidAMD";
103   case SpvBuiltInBaryCoordSmoothSampleAMD: return "SpvBuiltInBaryCoordSmoothSampleAMD";
104   case SpvBuiltInBaryCoordPullModelAMD: return "SpvBuiltInBaryCoordPullModelAMD";
105   case SpvBuiltInFragStencilRefEXT: return "SpvBuiltInFragStencilRefEXT";
106   case SpvBuiltInViewportMaskNV: return "SpvBuiltInViewportMaskNV";
107   case SpvBuiltInSecondaryPositionNV: return "SpvBuiltInSecondaryPositionNV";
108   case SpvBuiltInSecondaryViewportMaskNV: return "SpvBuiltInSecondaryViewportMaskNV";
109   case SpvBuiltInPositionPerViewNV: return "SpvBuiltInPositionPerViewNV";
110   case SpvBuiltInViewportMaskPerViewNV: return "SpvBuiltInViewportMaskPerViewNV";
111   case SpvBuiltInFullyCoveredEXT: return "SpvBuiltInFullyCoveredEXT";
112   case SpvBuiltInTaskCountNV: return "SpvBuiltInTaskCountNV";
113   case SpvBuiltInPrimitiveCountNV: return "SpvBuiltInPrimitiveCountNV";
114   case SpvBuiltInPrimitiveIndicesNV: return "SpvBuiltInPrimitiveIndicesNV";
115   case SpvBuiltInClipDistancePerViewNV: return "SpvBuiltInClipDistancePerViewNV";
116   case SpvBuiltInCullDistancePerViewNV: return "SpvBuiltInCullDistancePerViewNV";
117   case SpvBuiltInLayerPerViewNV: return "SpvBuiltInLayerPerViewNV";
118   case SpvBuiltInMeshViewCountNV: return "SpvBuiltInMeshViewCountNV";
119   case SpvBuiltInMeshViewIndicesNV: return "SpvBuiltInMeshViewIndicesNV";
120   case SpvBuiltInBaryCoordNV: return "SpvBuiltInBaryCoordNV";
121   case SpvBuiltInBaryCoordNoPerspNV: return "SpvBuiltInBaryCoordNoPerspNV";
122   case SpvBuiltInFragSizeEXT: return "SpvBuiltInFragSizeEXT";
123   case SpvBuiltInFragInvocationCountEXT: return "SpvBuiltInFragInvocationCountEXT";
124   case SpvBuiltInLaunchIdNV: return "SpvBuiltInLaunchIdNV";
125   case SpvBuiltInLaunchSizeNV: return "SpvBuiltInLaunchSizeNV";
126   case SpvBuiltInWorldRayOriginNV: return "SpvBuiltInWorldRayOriginNV";
127   case SpvBuiltInWorldRayDirectionNV: return "SpvBuiltInWorldRayDirectionNV";
128   case SpvBuiltInObjectRayOriginNV: return "SpvBuiltInObjectRayOriginNV";
129   case SpvBuiltInObjectRayDirectionNV: return "SpvBuiltInObjectRayDirectionNV";
130   case SpvBuiltInRayTminNV: return "SpvBuiltInRayTminNV";
131   case SpvBuiltInRayTmaxNV: return "SpvBuiltInRayTmaxNV";
132   case SpvBuiltInInstanceCustomIndexNV: return "SpvBuiltInInstanceCustomIndexNV";
133   case SpvBuiltInObjectToWorldNV: return "SpvBuiltInObjectToWorldNV";
134   case SpvBuiltInWorldToObjectNV: return "SpvBuiltInWorldToObjectNV";
135   case SpvBuiltInHitTNV: return "SpvBuiltInHitTNV";
136   case SpvBuiltInHitKindNV: return "SpvBuiltInHitKindNV";
137   case SpvBuiltInIncomingRayFlagsNV: return "SpvBuiltInIncomingRayFlagsNV";
138   case SpvBuiltInRayGeometryIndexKHR: return "SpvBuiltInRayGeometryIndexKHR";
139   case SpvBuiltInWarpsPerSMNV: return "SpvBuiltInWarpsPerSMNV";
140   case SpvBuiltInSMCountNV: return "SpvBuiltInSMCountNV";
141   case SpvBuiltInWarpIDNV: return "SpvBuiltInWarpIDNV";
142   case SpvBuiltInSMIDNV: return "SpvBuiltInSMIDNV";
143   case SpvBuiltInMax: break; /* silence warnings about unhandled enums. */
144   }
145
146   return "unknown";
147}
148
149const char *
150spirv_capability_to_string(SpvCapability v)
151{
152   switch (v) {
153   case SpvCapabilityMatrix: return "SpvCapabilityMatrix";
154   case SpvCapabilityShader: return "SpvCapabilityShader";
155   case SpvCapabilityGeometry: return "SpvCapabilityGeometry";
156   case SpvCapabilityTessellation: return "SpvCapabilityTessellation";
157   case SpvCapabilityAddresses: return "SpvCapabilityAddresses";
158   case SpvCapabilityLinkage: return "SpvCapabilityLinkage";
159   case SpvCapabilityKernel: return "SpvCapabilityKernel";
160   case SpvCapabilityVector16: return "SpvCapabilityVector16";
161   case SpvCapabilityFloat16Buffer: return "SpvCapabilityFloat16Buffer";
162   case SpvCapabilityFloat16: return "SpvCapabilityFloat16";
163   case SpvCapabilityFloat64: return "SpvCapabilityFloat64";
164   case SpvCapabilityInt64: return "SpvCapabilityInt64";
165   case SpvCapabilityInt64Atomics: return "SpvCapabilityInt64Atomics";
166   case SpvCapabilityImageBasic: return "SpvCapabilityImageBasic";
167   case SpvCapabilityImageReadWrite: return "SpvCapabilityImageReadWrite";
168   case SpvCapabilityImageMipmap: return "SpvCapabilityImageMipmap";
169   case SpvCapabilityPipes: return "SpvCapabilityPipes";
170   case SpvCapabilityGroups: return "SpvCapabilityGroups";
171   case SpvCapabilityDeviceEnqueue: return "SpvCapabilityDeviceEnqueue";
172   case SpvCapabilityLiteralSampler: return "SpvCapabilityLiteralSampler";
173   case SpvCapabilityAtomicStorage: return "SpvCapabilityAtomicStorage";
174   case SpvCapabilityInt16: return "SpvCapabilityInt16";
175   case SpvCapabilityTessellationPointSize: return "SpvCapabilityTessellationPointSize";
176   case SpvCapabilityGeometryPointSize: return "SpvCapabilityGeometryPointSize";
177   case SpvCapabilityImageGatherExtended: return "SpvCapabilityImageGatherExtended";
178   case SpvCapabilityStorageImageMultisample: return "SpvCapabilityStorageImageMultisample";
179   case SpvCapabilityUniformBufferArrayDynamicIndexing: return "SpvCapabilityUniformBufferArrayDynamicIndexing";
180   case SpvCapabilitySampledImageArrayDynamicIndexing: return "SpvCapabilitySampledImageArrayDynamicIndexing";
181   case SpvCapabilityStorageBufferArrayDynamicIndexing: return "SpvCapabilityStorageBufferArrayDynamicIndexing";
182   case SpvCapabilityStorageImageArrayDynamicIndexing: return "SpvCapabilityStorageImageArrayDynamicIndexing";
183   case SpvCapabilityClipDistance: return "SpvCapabilityClipDistance";
184   case SpvCapabilityCullDistance: return "SpvCapabilityCullDistance";
185   case SpvCapabilityImageCubeArray: return "SpvCapabilityImageCubeArray";
186   case SpvCapabilitySampleRateShading: return "SpvCapabilitySampleRateShading";
187   case SpvCapabilityImageRect: return "SpvCapabilityImageRect";
188   case SpvCapabilitySampledRect: return "SpvCapabilitySampledRect";
189   case SpvCapabilityGenericPointer: return "SpvCapabilityGenericPointer";
190   case SpvCapabilityInt8: return "SpvCapabilityInt8";
191   case SpvCapabilityInputAttachment: return "SpvCapabilityInputAttachment";
192   case SpvCapabilitySparseResidency: return "SpvCapabilitySparseResidency";
193   case SpvCapabilityMinLod: return "SpvCapabilityMinLod";
194   case SpvCapabilitySampled1D: return "SpvCapabilitySampled1D";
195   case SpvCapabilityImage1D: return "SpvCapabilityImage1D";
196   case SpvCapabilitySampledCubeArray: return "SpvCapabilitySampledCubeArray";
197   case SpvCapabilitySampledBuffer: return "SpvCapabilitySampledBuffer";
198   case SpvCapabilityImageBuffer: return "SpvCapabilityImageBuffer";
199   case SpvCapabilityImageMSArray: return "SpvCapabilityImageMSArray";
200   case SpvCapabilityStorageImageExtendedFormats: return "SpvCapabilityStorageImageExtendedFormats";
201   case SpvCapabilityImageQuery: return "SpvCapabilityImageQuery";
202   case SpvCapabilityDerivativeControl: return "SpvCapabilityDerivativeControl";
203   case SpvCapabilityInterpolationFunction: return "SpvCapabilityInterpolationFunction";
204   case SpvCapabilityTransformFeedback: return "SpvCapabilityTransformFeedback";
205   case SpvCapabilityGeometryStreams: return "SpvCapabilityGeometryStreams";
206   case SpvCapabilityStorageImageReadWithoutFormat: return "SpvCapabilityStorageImageReadWithoutFormat";
207   case SpvCapabilityStorageImageWriteWithoutFormat: return "SpvCapabilityStorageImageWriteWithoutFormat";
208   case SpvCapabilityMultiViewport: return "SpvCapabilityMultiViewport";
209   case SpvCapabilitySubgroupDispatch: return "SpvCapabilitySubgroupDispatch";
210   case SpvCapabilityNamedBarrier: return "SpvCapabilityNamedBarrier";
211   case SpvCapabilityPipeStorage: return "SpvCapabilityPipeStorage";
212   case SpvCapabilityGroupNonUniform: return "SpvCapabilityGroupNonUniform";
213   case SpvCapabilityGroupNonUniformVote: return "SpvCapabilityGroupNonUniformVote";
214   case SpvCapabilityGroupNonUniformArithmetic: return "SpvCapabilityGroupNonUniformArithmetic";
215   case SpvCapabilityGroupNonUniformBallot: return "SpvCapabilityGroupNonUniformBallot";
216   case SpvCapabilityGroupNonUniformShuffle: return "SpvCapabilityGroupNonUniformShuffle";
217   case SpvCapabilityGroupNonUniformShuffleRelative: return "SpvCapabilityGroupNonUniformShuffleRelative";
218   case SpvCapabilityGroupNonUniformClustered: return "SpvCapabilityGroupNonUniformClustered";
219   case SpvCapabilityGroupNonUniformQuad: return "SpvCapabilityGroupNonUniformQuad";
220   case SpvCapabilityShaderLayer: return "SpvCapabilityShaderLayer";
221   case SpvCapabilityShaderViewportIndex: return "SpvCapabilityShaderViewportIndex";
222   case SpvCapabilityFragmentShadingRateKHR: return "SpvCapabilityFragmentShadingRateKHR";
223   case SpvCapabilitySubgroupBallotKHR: return "SpvCapabilitySubgroupBallotKHR";
224   case SpvCapabilityDrawParameters: return "SpvCapabilityDrawParameters";
225   case SpvCapabilityWorkgroupMemoryExplicitLayoutKHR: return "SpvCapabilityWorkgroupMemoryExplicitLayoutKHR";
226   case SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR: return "SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR";
227   case SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR: return "SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR";
228   case SpvCapabilitySubgroupVoteKHR: return "SpvCapabilitySubgroupVoteKHR";
229   case SpvCapabilityStorageBuffer16BitAccess: return "SpvCapabilityStorageBuffer16BitAccess";
230   case SpvCapabilityUniformAndStorageBuffer16BitAccess: return "SpvCapabilityUniformAndStorageBuffer16BitAccess";
231   case SpvCapabilityStoragePushConstant16: return "SpvCapabilityStoragePushConstant16";
232   case SpvCapabilityStorageInputOutput16: return "SpvCapabilityStorageInputOutput16";
233   case SpvCapabilityDeviceGroup: return "SpvCapabilityDeviceGroup";
234   case SpvCapabilityMultiView: return "SpvCapabilityMultiView";
235   case SpvCapabilityVariablePointersStorageBuffer: return "SpvCapabilityVariablePointersStorageBuffer";
236   case SpvCapabilityVariablePointers: return "SpvCapabilityVariablePointers";
237   case SpvCapabilityAtomicStorageOps: return "SpvCapabilityAtomicStorageOps";
238   case SpvCapabilitySampleMaskPostDepthCoverage: return "SpvCapabilitySampleMaskPostDepthCoverage";
239   case SpvCapabilityStorageBuffer8BitAccess: return "SpvCapabilityStorageBuffer8BitAccess";
240   case SpvCapabilityUniformAndStorageBuffer8BitAccess: return "SpvCapabilityUniformAndStorageBuffer8BitAccess";
241   case SpvCapabilityStoragePushConstant8: return "SpvCapabilityStoragePushConstant8";
242   case SpvCapabilityDenormPreserve: return "SpvCapabilityDenormPreserve";
243   case SpvCapabilityDenormFlushToZero: return "SpvCapabilityDenormFlushToZero";
244   case SpvCapabilitySignedZeroInfNanPreserve: return "SpvCapabilitySignedZeroInfNanPreserve";
245   case SpvCapabilityRoundingModeRTE: return "SpvCapabilityRoundingModeRTE";
246   case SpvCapabilityRoundingModeRTZ: return "SpvCapabilityRoundingModeRTZ";
247   case SpvCapabilityRayQueryProvisionalKHR: return "SpvCapabilityRayQueryProvisionalKHR";
248   case SpvCapabilityRayQueryKHR: return "SpvCapabilityRayQueryKHR";
249   case SpvCapabilityRayTraversalPrimitiveCullingKHR: return "SpvCapabilityRayTraversalPrimitiveCullingKHR";
250   case SpvCapabilityRayTracingKHR: return "SpvCapabilityRayTracingKHR";
251   case SpvCapabilityFloat16ImageAMD: return "SpvCapabilityFloat16ImageAMD";
252   case SpvCapabilityImageGatherBiasLodAMD: return "SpvCapabilityImageGatherBiasLodAMD";
253   case SpvCapabilityFragmentMaskAMD: return "SpvCapabilityFragmentMaskAMD";
254   case SpvCapabilityStencilExportEXT: return "SpvCapabilityStencilExportEXT";
255   case SpvCapabilityImageReadWriteLodAMD: return "SpvCapabilityImageReadWriteLodAMD";
256   case SpvCapabilityInt64ImageEXT: return "SpvCapabilityInt64ImageEXT";
257   case SpvCapabilityShaderClockKHR: return "SpvCapabilityShaderClockKHR";
258   case SpvCapabilitySampleMaskOverrideCoverageNV: return "SpvCapabilitySampleMaskOverrideCoverageNV";
259   case SpvCapabilityGeometryShaderPassthroughNV: return "SpvCapabilityGeometryShaderPassthroughNV";
260   case SpvCapabilityShaderViewportIndexLayerEXT: return "SpvCapabilityShaderViewportIndexLayerEXT";
261   case SpvCapabilityShaderViewportMaskNV: return "SpvCapabilityShaderViewportMaskNV";
262   case SpvCapabilityShaderStereoViewNV: return "SpvCapabilityShaderStereoViewNV";
263   case SpvCapabilityPerViewAttributesNV: return "SpvCapabilityPerViewAttributesNV";
264   case SpvCapabilityFragmentFullyCoveredEXT: return "SpvCapabilityFragmentFullyCoveredEXT";
265   case SpvCapabilityMeshShadingNV: return "SpvCapabilityMeshShadingNV";
266   case SpvCapabilityImageFootprintNV: return "SpvCapabilityImageFootprintNV";
267   case SpvCapabilityFragmentBarycentricNV: return "SpvCapabilityFragmentBarycentricNV";
268   case SpvCapabilityComputeDerivativeGroupQuadsNV: return "SpvCapabilityComputeDerivativeGroupQuadsNV";
269   case SpvCapabilityFragmentDensityEXT: return "SpvCapabilityFragmentDensityEXT";
270   case SpvCapabilityGroupNonUniformPartitionedNV: return "SpvCapabilityGroupNonUniformPartitionedNV";
271   case SpvCapabilityShaderNonUniform: return "SpvCapabilityShaderNonUniform";
272   case SpvCapabilityRuntimeDescriptorArray: return "SpvCapabilityRuntimeDescriptorArray";
273   case SpvCapabilityInputAttachmentArrayDynamicIndexing: return "SpvCapabilityInputAttachmentArrayDynamicIndexing";
274   case SpvCapabilityUniformTexelBufferArrayDynamicIndexing: return "SpvCapabilityUniformTexelBufferArrayDynamicIndexing";
275   case SpvCapabilityStorageTexelBufferArrayDynamicIndexing: return "SpvCapabilityStorageTexelBufferArrayDynamicIndexing";
276   case SpvCapabilityUniformBufferArrayNonUniformIndexing: return "SpvCapabilityUniformBufferArrayNonUniformIndexing";
277   case SpvCapabilitySampledImageArrayNonUniformIndexing: return "SpvCapabilitySampledImageArrayNonUniformIndexing";
278   case SpvCapabilityStorageBufferArrayNonUniformIndexing: return "SpvCapabilityStorageBufferArrayNonUniformIndexing";
279   case SpvCapabilityStorageImageArrayNonUniformIndexing: return "SpvCapabilityStorageImageArrayNonUniformIndexing";
280   case SpvCapabilityInputAttachmentArrayNonUniformIndexing: return "SpvCapabilityInputAttachmentArrayNonUniformIndexing";
281   case SpvCapabilityUniformTexelBufferArrayNonUniformIndexing: return "SpvCapabilityUniformTexelBufferArrayNonUniformIndexing";
282   case SpvCapabilityStorageTexelBufferArrayNonUniformIndexing: return "SpvCapabilityStorageTexelBufferArrayNonUniformIndexing";
283   case SpvCapabilityRayTracingNV: return "SpvCapabilityRayTracingNV";
284   case SpvCapabilityVulkanMemoryModel: return "SpvCapabilityVulkanMemoryModel";
285   case SpvCapabilityVulkanMemoryModelDeviceScope: return "SpvCapabilityVulkanMemoryModelDeviceScope";
286   case SpvCapabilityPhysicalStorageBufferAddresses: return "SpvCapabilityPhysicalStorageBufferAddresses";
287   case SpvCapabilityComputeDerivativeGroupLinearNV: return "SpvCapabilityComputeDerivativeGroupLinearNV";
288   case SpvCapabilityRayTracingProvisionalKHR: return "SpvCapabilityRayTracingProvisionalKHR";
289   case SpvCapabilityCooperativeMatrixNV: return "SpvCapabilityCooperativeMatrixNV";
290   case SpvCapabilityFragmentShaderSampleInterlockEXT: return "SpvCapabilityFragmentShaderSampleInterlockEXT";
291   case SpvCapabilityFragmentShaderShadingRateInterlockEXT: return "SpvCapabilityFragmentShaderShadingRateInterlockEXT";
292   case SpvCapabilityShaderSMBuiltinsNV: return "SpvCapabilityShaderSMBuiltinsNV";
293   case SpvCapabilityFragmentShaderPixelInterlockEXT: return "SpvCapabilityFragmentShaderPixelInterlockEXT";
294   case SpvCapabilityDemoteToHelperInvocationEXT: return "SpvCapabilityDemoteToHelperInvocationEXT";
295   case SpvCapabilitySubgroupShuffleINTEL: return "SpvCapabilitySubgroupShuffleINTEL";
296   case SpvCapabilitySubgroupBufferBlockIOINTEL: return "SpvCapabilitySubgroupBufferBlockIOINTEL";
297   case SpvCapabilitySubgroupImageBlockIOINTEL: return "SpvCapabilitySubgroupImageBlockIOINTEL";
298   case SpvCapabilitySubgroupImageMediaBlockIOINTEL: return "SpvCapabilitySubgroupImageMediaBlockIOINTEL";
299   case SpvCapabilityRoundToInfinityINTEL: return "SpvCapabilityRoundToInfinityINTEL";
300   case SpvCapabilityFloatingPointModeINTEL: return "SpvCapabilityFloatingPointModeINTEL";
301   case SpvCapabilityIntegerFunctions2INTEL: return "SpvCapabilityIntegerFunctions2INTEL";
302   case SpvCapabilityFunctionPointersINTEL: return "SpvCapabilityFunctionPointersINTEL";
303   case SpvCapabilityIndirectReferencesINTEL: return "SpvCapabilityIndirectReferencesINTEL";
304   case SpvCapabilityAsmINTEL: return "SpvCapabilityAsmINTEL";
305   case SpvCapabilityAtomicFloat32MinMaxEXT: return "SpvCapabilityAtomicFloat32MinMaxEXT";
306   case SpvCapabilityAtomicFloat64MinMaxEXT: return "SpvCapabilityAtomicFloat64MinMaxEXT";
307   case SpvCapabilityAtomicFloat16MinMaxEXT: return "SpvCapabilityAtomicFloat16MinMaxEXT";
308   case SpvCapabilityVectorComputeINTEL: return "SpvCapabilityVectorComputeINTEL";
309   case SpvCapabilityVectorAnyINTEL: return "SpvCapabilityVectorAnyINTEL";
310   case SpvCapabilityExpectAssumeKHR: return "SpvCapabilityExpectAssumeKHR";
311   case SpvCapabilitySubgroupAvcMotionEstimationINTEL: return "SpvCapabilitySubgroupAvcMotionEstimationINTEL";
312   case SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL: return "SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL";
313   case SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL: return "SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL";
314   case SpvCapabilityVariableLengthArrayINTEL: return "SpvCapabilityVariableLengthArrayINTEL";
315   case SpvCapabilityFunctionFloatControlINTEL: return "SpvCapabilityFunctionFloatControlINTEL";
316   case SpvCapabilityFPGAMemoryAttributesINTEL: return "SpvCapabilityFPGAMemoryAttributesINTEL";
317   case SpvCapabilityFPFastMathModeINTEL: return "SpvCapabilityFPFastMathModeINTEL";
318   case SpvCapabilityArbitraryPrecisionIntegersINTEL: return "SpvCapabilityArbitraryPrecisionIntegersINTEL";
319   case SpvCapabilityArbitraryPrecisionFloatingPointINTEL: return "SpvCapabilityArbitraryPrecisionFloatingPointINTEL";
320   case SpvCapabilityUnstructuredLoopControlsINTEL: return "SpvCapabilityUnstructuredLoopControlsINTEL";
321   case SpvCapabilityFPGALoopControlsINTEL: return "SpvCapabilityFPGALoopControlsINTEL";
322   case SpvCapabilityKernelAttributesINTEL: return "SpvCapabilityKernelAttributesINTEL";
323   case SpvCapabilityFPGAKernelAttributesINTEL: return "SpvCapabilityFPGAKernelAttributesINTEL";
324   case SpvCapabilityFPGAMemoryAccessesINTEL: return "SpvCapabilityFPGAMemoryAccessesINTEL";
325   case SpvCapabilityFPGAClusterAttributesINTEL: return "SpvCapabilityFPGAClusterAttributesINTEL";
326   case SpvCapabilityLoopFuseINTEL: return "SpvCapabilityLoopFuseINTEL";
327   case SpvCapabilityFPGABufferLocationINTEL: return "SpvCapabilityFPGABufferLocationINTEL";
328   case SpvCapabilityArbitraryPrecisionFixedPointINTEL: return "SpvCapabilityArbitraryPrecisionFixedPointINTEL";
329   case SpvCapabilityUSMStorageClassesINTEL: return "SpvCapabilityUSMStorageClassesINTEL";
330   case SpvCapabilityIOPipesINTEL: return "SpvCapabilityIOPipesINTEL";
331   case SpvCapabilityBlockingPipesINTEL: return "SpvCapabilityBlockingPipesINTEL";
332   case SpvCapabilityFPGARegINTEL: return "SpvCapabilityFPGARegINTEL";
333   case SpvCapabilityDotProductInputAllKHR: return "SpvCapabilityDotProductInputAllKHR";
334   case SpvCapabilityDotProductInput4x8BitKHR: return "SpvCapabilityDotProductInput4x8BitKHR";
335   case SpvCapabilityDotProductInput4x8BitPackedKHR: return "SpvCapabilityDotProductInput4x8BitPackedKHR";
336   case SpvCapabilityDotProductKHR: return "SpvCapabilityDotProductKHR";
337   case SpvCapabilityBitInstructions: return "SpvCapabilityBitInstructions";
338   case SpvCapabilityAtomicFloat32AddEXT: return "SpvCapabilityAtomicFloat32AddEXT";
339   case SpvCapabilityAtomicFloat64AddEXT: return "SpvCapabilityAtomicFloat64AddEXT";
340   case SpvCapabilityLongConstantCompositeINTEL: return "SpvCapabilityLongConstantCompositeINTEL";
341   case SpvCapabilityOptNoneINTEL: return "SpvCapabilityOptNoneINTEL";
342   case SpvCapabilityAtomicFloat16AddEXT: return "SpvCapabilityAtomicFloat16AddEXT";
343   case SpvCapabilityDebugInfoModuleINTEL: return "SpvCapabilityDebugInfoModuleINTEL";
344   case SpvCapabilityMax: break; /* silence warnings about unhandled enums. */
345   }
346
347   return "unknown";
348}
349
350const char *
351spirv_decoration_to_string(SpvDecoration v)
352{
353   switch (v) {
354   case SpvDecorationRelaxedPrecision: return "SpvDecorationRelaxedPrecision";
355   case SpvDecorationSpecId: return "SpvDecorationSpecId";
356   case SpvDecorationBlock: return "SpvDecorationBlock";
357   case SpvDecorationBufferBlock: return "SpvDecorationBufferBlock";
358   case SpvDecorationRowMajor: return "SpvDecorationRowMajor";
359   case SpvDecorationColMajor: return "SpvDecorationColMajor";
360   case SpvDecorationArrayStride: return "SpvDecorationArrayStride";
361   case SpvDecorationMatrixStride: return "SpvDecorationMatrixStride";
362   case SpvDecorationGLSLShared: return "SpvDecorationGLSLShared";
363   case SpvDecorationGLSLPacked: return "SpvDecorationGLSLPacked";
364   case SpvDecorationCPacked: return "SpvDecorationCPacked";
365   case SpvDecorationBuiltIn: return "SpvDecorationBuiltIn";
366   case SpvDecorationNoPerspective: return "SpvDecorationNoPerspective";
367   case SpvDecorationFlat: return "SpvDecorationFlat";
368   case SpvDecorationPatch: return "SpvDecorationPatch";
369   case SpvDecorationCentroid: return "SpvDecorationCentroid";
370   case SpvDecorationSample: return "SpvDecorationSample";
371   case SpvDecorationInvariant: return "SpvDecorationInvariant";
372   case SpvDecorationRestrict: return "SpvDecorationRestrict";
373   case SpvDecorationAliased: return "SpvDecorationAliased";
374   case SpvDecorationVolatile: return "SpvDecorationVolatile";
375   case SpvDecorationConstant: return "SpvDecorationConstant";
376   case SpvDecorationCoherent: return "SpvDecorationCoherent";
377   case SpvDecorationNonWritable: return "SpvDecorationNonWritable";
378   case SpvDecorationNonReadable: return "SpvDecorationNonReadable";
379   case SpvDecorationUniform: return "SpvDecorationUniform";
380   case SpvDecorationUniformId: return "SpvDecorationUniformId";
381   case SpvDecorationSaturatedConversion: return "SpvDecorationSaturatedConversion";
382   case SpvDecorationStream: return "SpvDecorationStream";
383   case SpvDecorationLocation: return "SpvDecorationLocation";
384   case SpvDecorationComponent: return "SpvDecorationComponent";
385   case SpvDecorationIndex: return "SpvDecorationIndex";
386   case SpvDecorationBinding: return "SpvDecorationBinding";
387   case SpvDecorationDescriptorSet: return "SpvDecorationDescriptorSet";
388   case SpvDecorationOffset: return "SpvDecorationOffset";
389   case SpvDecorationXfbBuffer: return "SpvDecorationXfbBuffer";
390   case SpvDecorationXfbStride: return "SpvDecorationXfbStride";
391   case SpvDecorationFuncParamAttr: return "SpvDecorationFuncParamAttr";
392   case SpvDecorationFPRoundingMode: return "SpvDecorationFPRoundingMode";
393   case SpvDecorationFPFastMathMode: return "SpvDecorationFPFastMathMode";
394   case SpvDecorationLinkageAttributes: return "SpvDecorationLinkageAttributes";
395   case SpvDecorationNoContraction: return "SpvDecorationNoContraction";
396   case SpvDecorationInputAttachmentIndex: return "SpvDecorationInputAttachmentIndex";
397   case SpvDecorationAlignment: return "SpvDecorationAlignment";
398   case SpvDecorationMaxByteOffset: return "SpvDecorationMaxByteOffset";
399   case SpvDecorationAlignmentId: return "SpvDecorationAlignmentId";
400   case SpvDecorationMaxByteOffsetId: return "SpvDecorationMaxByteOffsetId";
401   case SpvDecorationNoSignedWrap: return "SpvDecorationNoSignedWrap";
402   case SpvDecorationNoUnsignedWrap: return "SpvDecorationNoUnsignedWrap";
403   case SpvDecorationExplicitInterpAMD: return "SpvDecorationExplicitInterpAMD";
404   case SpvDecorationOverrideCoverageNV: return "SpvDecorationOverrideCoverageNV";
405   case SpvDecorationPassthroughNV: return "SpvDecorationPassthroughNV";
406   case SpvDecorationViewportRelativeNV: return "SpvDecorationViewportRelativeNV";
407   case SpvDecorationSecondaryViewportRelativeNV: return "SpvDecorationSecondaryViewportRelativeNV";
408   case SpvDecorationPerPrimitiveNV: return "SpvDecorationPerPrimitiveNV";
409   case SpvDecorationPerViewNV: return "SpvDecorationPerViewNV";
410   case SpvDecorationPerTaskNV: return "SpvDecorationPerTaskNV";
411   case SpvDecorationPerVertexNV: return "SpvDecorationPerVertexNV";
412   case SpvDecorationNonUniform: return "SpvDecorationNonUniform";
413   case SpvDecorationRestrictPointer: return "SpvDecorationRestrictPointer";
414   case SpvDecorationAliasedPointer: return "SpvDecorationAliasedPointer";
415   case SpvDecorationSIMTCallINTEL: return "SpvDecorationSIMTCallINTEL";
416   case SpvDecorationReferencedIndirectlyINTEL: return "SpvDecorationReferencedIndirectlyINTEL";
417   case SpvDecorationClobberINTEL: return "SpvDecorationClobberINTEL";
418   case SpvDecorationSideEffectsINTEL: return "SpvDecorationSideEffectsINTEL";
419   case SpvDecorationVectorComputeVariableINTEL: return "SpvDecorationVectorComputeVariableINTEL";
420   case SpvDecorationFuncParamIOKindINTEL: return "SpvDecorationFuncParamIOKindINTEL";
421   case SpvDecorationVectorComputeFunctionINTEL: return "SpvDecorationVectorComputeFunctionINTEL";
422   case SpvDecorationStackCallINTEL: return "SpvDecorationStackCallINTEL";
423   case SpvDecorationGlobalVariableOffsetINTEL: return "SpvDecorationGlobalVariableOffsetINTEL";
424   case SpvDecorationCounterBuffer: return "SpvDecorationCounterBuffer";
425   case SpvDecorationUserSemantic: return "SpvDecorationUserSemantic";
426   case SpvDecorationUserTypeGOOGLE: return "SpvDecorationUserTypeGOOGLE";
427   case SpvDecorationFunctionRoundingModeINTEL: return "SpvDecorationFunctionRoundingModeINTEL";
428   case SpvDecorationFunctionDenormModeINTEL: return "SpvDecorationFunctionDenormModeINTEL";
429   case SpvDecorationRegisterINTEL: return "SpvDecorationRegisterINTEL";
430   case SpvDecorationMemoryINTEL: return "SpvDecorationMemoryINTEL";
431   case SpvDecorationNumbanksINTEL: return "SpvDecorationNumbanksINTEL";
432   case SpvDecorationBankwidthINTEL: return "SpvDecorationBankwidthINTEL";
433   case SpvDecorationMaxPrivateCopiesINTEL: return "SpvDecorationMaxPrivateCopiesINTEL";
434   case SpvDecorationSinglepumpINTEL: return "SpvDecorationSinglepumpINTEL";
435   case SpvDecorationDoublepumpINTEL: return "SpvDecorationDoublepumpINTEL";
436   case SpvDecorationMaxReplicatesINTEL: return "SpvDecorationMaxReplicatesINTEL";
437   case SpvDecorationSimpleDualPortINTEL: return "SpvDecorationSimpleDualPortINTEL";
438   case SpvDecorationMergeINTEL: return "SpvDecorationMergeINTEL";
439   case SpvDecorationBankBitsINTEL: return "SpvDecorationBankBitsINTEL";
440   case SpvDecorationForcePow2DepthINTEL: return "SpvDecorationForcePow2DepthINTEL";
441   case SpvDecorationBurstCoalesceINTEL: return "SpvDecorationBurstCoalesceINTEL";
442   case SpvDecorationCacheSizeINTEL: return "SpvDecorationCacheSizeINTEL";
443   case SpvDecorationDontStaticallyCoalesceINTEL: return "SpvDecorationDontStaticallyCoalesceINTEL";
444   case SpvDecorationPrefetchINTEL: return "SpvDecorationPrefetchINTEL";
445   case SpvDecorationStallEnableINTEL: return "SpvDecorationStallEnableINTEL";
446   case SpvDecorationFuseLoopsInFunctionINTEL: return "SpvDecorationFuseLoopsInFunctionINTEL";
447   case SpvDecorationBufferLocationINTEL: return "SpvDecorationBufferLocationINTEL";
448   case SpvDecorationIOPipeStorageINTEL: return "SpvDecorationIOPipeStorageINTEL";
449   case SpvDecorationFunctionFloatingPointModeINTEL: return "SpvDecorationFunctionFloatingPointModeINTEL";
450   case SpvDecorationSingleElementVectorINTEL: return "SpvDecorationSingleElementVectorINTEL";
451   case SpvDecorationVectorComputeCallableFunctionINTEL: return "SpvDecorationVectorComputeCallableFunctionINTEL";
452   case SpvDecorationMax: break; /* silence warnings about unhandled enums. */
453   }
454
455   return "unknown";
456}
457
458const char *
459spirv_dim_to_string(SpvDim v)
460{
461   switch (v) {
462   case SpvDim1D: return "SpvDim1D";
463   case SpvDim2D: return "SpvDim2D";
464   case SpvDim3D: return "SpvDim3D";
465   case SpvDimCube: return "SpvDimCube";
466   case SpvDimRect: return "SpvDimRect";
467   case SpvDimBuffer: return "SpvDimBuffer";
468   case SpvDimSubpassData: return "SpvDimSubpassData";
469   case SpvDimMax: break; /* silence warnings about unhandled enums. */
470   }
471
472   return "unknown";
473}
474
475const char *
476spirv_executionmode_to_string(SpvExecutionMode v)
477{
478   switch (v) {
479   case SpvExecutionModeInvocations: return "SpvExecutionModeInvocations";
480   case SpvExecutionModeSpacingEqual: return "SpvExecutionModeSpacingEqual";
481   case SpvExecutionModeSpacingFractionalEven: return "SpvExecutionModeSpacingFractionalEven";
482   case SpvExecutionModeSpacingFractionalOdd: return "SpvExecutionModeSpacingFractionalOdd";
483   case SpvExecutionModeVertexOrderCw: return "SpvExecutionModeVertexOrderCw";
484   case SpvExecutionModeVertexOrderCcw: return "SpvExecutionModeVertexOrderCcw";
485   case SpvExecutionModePixelCenterInteger: return "SpvExecutionModePixelCenterInteger";
486   case SpvExecutionModeOriginUpperLeft: return "SpvExecutionModeOriginUpperLeft";
487   case SpvExecutionModeOriginLowerLeft: return "SpvExecutionModeOriginLowerLeft";
488   case SpvExecutionModeEarlyFragmentTests: return "SpvExecutionModeEarlyFragmentTests";
489   case SpvExecutionModePointMode: return "SpvExecutionModePointMode";
490   case SpvExecutionModeXfb: return "SpvExecutionModeXfb";
491   case SpvExecutionModeDepthReplacing: return "SpvExecutionModeDepthReplacing";
492   case SpvExecutionModeDepthGreater: return "SpvExecutionModeDepthGreater";
493   case SpvExecutionModeDepthLess: return "SpvExecutionModeDepthLess";
494   case SpvExecutionModeDepthUnchanged: return "SpvExecutionModeDepthUnchanged";
495   case SpvExecutionModeLocalSize: return "SpvExecutionModeLocalSize";
496   case SpvExecutionModeLocalSizeHint: return "SpvExecutionModeLocalSizeHint";
497   case SpvExecutionModeInputPoints: return "SpvExecutionModeInputPoints";
498   case SpvExecutionModeInputLines: return "SpvExecutionModeInputLines";
499   case SpvExecutionModeInputLinesAdjacency: return "SpvExecutionModeInputLinesAdjacency";
500   case SpvExecutionModeTriangles: return "SpvExecutionModeTriangles";
501   case SpvExecutionModeInputTrianglesAdjacency: return "SpvExecutionModeInputTrianglesAdjacency";
502   case SpvExecutionModeQuads: return "SpvExecutionModeQuads";
503   case SpvExecutionModeIsolines: return "SpvExecutionModeIsolines";
504   case SpvExecutionModeOutputVertices: return "SpvExecutionModeOutputVertices";
505   case SpvExecutionModeOutputPoints: return "SpvExecutionModeOutputPoints";
506   case SpvExecutionModeOutputLineStrip: return "SpvExecutionModeOutputLineStrip";
507   case SpvExecutionModeOutputTriangleStrip: return "SpvExecutionModeOutputTriangleStrip";
508   case SpvExecutionModeVecTypeHint: return "SpvExecutionModeVecTypeHint";
509   case SpvExecutionModeContractionOff: return "SpvExecutionModeContractionOff";
510   case SpvExecutionModeInitializer: return "SpvExecutionModeInitializer";
511   case SpvExecutionModeFinalizer: return "SpvExecutionModeFinalizer";
512   case SpvExecutionModeSubgroupSize: return "SpvExecutionModeSubgroupSize";
513   case SpvExecutionModeSubgroupsPerWorkgroup: return "SpvExecutionModeSubgroupsPerWorkgroup";
514   case SpvExecutionModeSubgroupsPerWorkgroupId: return "SpvExecutionModeSubgroupsPerWorkgroupId";
515   case SpvExecutionModeLocalSizeId: return "SpvExecutionModeLocalSizeId";
516   case SpvExecutionModeLocalSizeHintId: return "SpvExecutionModeLocalSizeHintId";
517   case SpvExecutionModeSubgroupUniformControlFlowKHR: return "SpvExecutionModeSubgroupUniformControlFlowKHR";
518   case SpvExecutionModePostDepthCoverage: return "SpvExecutionModePostDepthCoverage";
519   case SpvExecutionModeDenormPreserve: return "SpvExecutionModeDenormPreserve";
520   case SpvExecutionModeDenormFlushToZero: return "SpvExecutionModeDenormFlushToZero";
521   case SpvExecutionModeSignedZeroInfNanPreserve: return "SpvExecutionModeSignedZeroInfNanPreserve";
522   case SpvExecutionModeRoundingModeRTE: return "SpvExecutionModeRoundingModeRTE";
523   case SpvExecutionModeRoundingModeRTZ: return "SpvExecutionModeRoundingModeRTZ";
524   case SpvExecutionModeStencilRefReplacingEXT: return "SpvExecutionModeStencilRefReplacingEXT";
525   case SpvExecutionModeOutputLinesNV: return "SpvExecutionModeOutputLinesNV";
526   case SpvExecutionModeOutputPrimitivesNV: return "SpvExecutionModeOutputPrimitivesNV";
527   case SpvExecutionModeDerivativeGroupQuadsNV: return "SpvExecutionModeDerivativeGroupQuadsNV";
528   case SpvExecutionModeDerivativeGroupLinearNV: return "SpvExecutionModeDerivativeGroupLinearNV";
529   case SpvExecutionModeOutputTrianglesNV: return "SpvExecutionModeOutputTrianglesNV";
530   case SpvExecutionModePixelInterlockOrderedEXT: return "SpvExecutionModePixelInterlockOrderedEXT";
531   case SpvExecutionModePixelInterlockUnorderedEXT: return "SpvExecutionModePixelInterlockUnorderedEXT";
532   case SpvExecutionModeSampleInterlockOrderedEXT: return "SpvExecutionModeSampleInterlockOrderedEXT";
533   case SpvExecutionModeSampleInterlockUnorderedEXT: return "SpvExecutionModeSampleInterlockUnorderedEXT";
534   case SpvExecutionModeShadingRateInterlockOrderedEXT: return "SpvExecutionModeShadingRateInterlockOrderedEXT";
535   case SpvExecutionModeShadingRateInterlockUnorderedEXT: return "SpvExecutionModeShadingRateInterlockUnorderedEXT";
536   case SpvExecutionModeSharedLocalMemorySizeINTEL: return "SpvExecutionModeSharedLocalMemorySizeINTEL";
537   case SpvExecutionModeRoundingModeRTPINTEL: return "SpvExecutionModeRoundingModeRTPINTEL";
538   case SpvExecutionModeRoundingModeRTNINTEL: return "SpvExecutionModeRoundingModeRTNINTEL";
539   case SpvExecutionModeFloatingPointModeALTINTEL: return "SpvExecutionModeFloatingPointModeALTINTEL";
540   case SpvExecutionModeFloatingPointModeIEEEINTEL: return "SpvExecutionModeFloatingPointModeIEEEINTEL";
541   case SpvExecutionModeMaxWorkgroupSizeINTEL: return "SpvExecutionModeMaxWorkgroupSizeINTEL";
542   case SpvExecutionModeMaxWorkDimINTEL: return "SpvExecutionModeMaxWorkDimINTEL";
543   case SpvExecutionModeNoGlobalOffsetINTEL: return "SpvExecutionModeNoGlobalOffsetINTEL";
544   case SpvExecutionModeNumSIMDWorkitemsINTEL: return "SpvExecutionModeNumSIMDWorkitemsINTEL";
545   case SpvExecutionModeSchedulerTargetFmaxMhzINTEL: return "SpvExecutionModeSchedulerTargetFmaxMhzINTEL";
546   case SpvExecutionModeMax: break; /* silence warnings about unhandled enums. */
547   }
548
549   return "unknown";
550}
551
552const char *
553spirv_executionmodel_to_string(SpvExecutionModel v)
554{
555   switch (v) {
556   case SpvExecutionModelVertex: return "SpvExecutionModelVertex";
557   case SpvExecutionModelTessellationControl: return "SpvExecutionModelTessellationControl";
558   case SpvExecutionModelTessellationEvaluation: return "SpvExecutionModelTessellationEvaluation";
559   case SpvExecutionModelGeometry: return "SpvExecutionModelGeometry";
560   case SpvExecutionModelFragment: return "SpvExecutionModelFragment";
561   case SpvExecutionModelGLCompute: return "SpvExecutionModelGLCompute";
562   case SpvExecutionModelKernel: return "SpvExecutionModelKernel";
563   case SpvExecutionModelTaskNV: return "SpvExecutionModelTaskNV";
564   case SpvExecutionModelMeshNV: return "SpvExecutionModelMeshNV";
565   case SpvExecutionModelRayGenerationNV: return "SpvExecutionModelRayGenerationNV";
566   case SpvExecutionModelIntersectionNV: return "SpvExecutionModelIntersectionNV";
567   case SpvExecutionModelAnyHitNV: return "SpvExecutionModelAnyHitNV";
568   case SpvExecutionModelClosestHitNV: return "SpvExecutionModelClosestHitNV";
569   case SpvExecutionModelMissNV: return "SpvExecutionModelMissNV";
570   case SpvExecutionModelCallableNV: return "SpvExecutionModelCallableNV";
571   case SpvExecutionModelMax: break; /* silence warnings about unhandled enums. */
572   }
573
574   return "unknown";
575}
576
577const char *
578spirv_imageformat_to_string(SpvImageFormat v)
579{
580   switch (v) {
581   case SpvImageFormatUnknown: return "SpvImageFormatUnknown";
582   case SpvImageFormatRgba32f: return "SpvImageFormatRgba32f";
583   case SpvImageFormatRgba16f: return "SpvImageFormatRgba16f";
584   case SpvImageFormatR32f: return "SpvImageFormatR32f";
585   case SpvImageFormatRgba8: return "SpvImageFormatRgba8";
586   case SpvImageFormatRgba8Snorm: return "SpvImageFormatRgba8Snorm";
587   case SpvImageFormatRg32f: return "SpvImageFormatRg32f";
588   case SpvImageFormatRg16f: return "SpvImageFormatRg16f";
589   case SpvImageFormatR11fG11fB10f: return "SpvImageFormatR11fG11fB10f";
590   case SpvImageFormatR16f: return "SpvImageFormatR16f";
591   case SpvImageFormatRgba16: return "SpvImageFormatRgba16";
592   case SpvImageFormatRgb10A2: return "SpvImageFormatRgb10A2";
593   case SpvImageFormatRg16: return "SpvImageFormatRg16";
594   case SpvImageFormatRg8: return "SpvImageFormatRg8";
595   case SpvImageFormatR16: return "SpvImageFormatR16";
596   case SpvImageFormatR8: return "SpvImageFormatR8";
597   case SpvImageFormatRgba16Snorm: return "SpvImageFormatRgba16Snorm";
598   case SpvImageFormatRg16Snorm: return "SpvImageFormatRg16Snorm";
599   case SpvImageFormatRg8Snorm: return "SpvImageFormatRg8Snorm";
600   case SpvImageFormatR16Snorm: return "SpvImageFormatR16Snorm";
601   case SpvImageFormatR8Snorm: return "SpvImageFormatR8Snorm";
602   case SpvImageFormatRgba32i: return "SpvImageFormatRgba32i";
603   case SpvImageFormatRgba16i: return "SpvImageFormatRgba16i";
604   case SpvImageFormatRgba8i: return "SpvImageFormatRgba8i";
605   case SpvImageFormatR32i: return "SpvImageFormatR32i";
606   case SpvImageFormatRg32i: return "SpvImageFormatRg32i";
607   case SpvImageFormatRg16i: return "SpvImageFormatRg16i";
608   case SpvImageFormatRg8i: return "SpvImageFormatRg8i";
609   case SpvImageFormatR16i: return "SpvImageFormatR16i";
610   case SpvImageFormatR8i: return "SpvImageFormatR8i";
611   case SpvImageFormatRgba32ui: return "SpvImageFormatRgba32ui";
612   case SpvImageFormatRgba16ui: return "SpvImageFormatRgba16ui";
613   case SpvImageFormatRgba8ui: return "SpvImageFormatRgba8ui";
614   case SpvImageFormatR32ui: return "SpvImageFormatR32ui";
615   case SpvImageFormatRgb10a2ui: return "SpvImageFormatRgb10a2ui";
616   case SpvImageFormatRg32ui: return "SpvImageFormatRg32ui";
617   case SpvImageFormatRg16ui: return "SpvImageFormatRg16ui";
618   case SpvImageFormatRg8ui: return "SpvImageFormatRg8ui";
619   case SpvImageFormatR16ui: return "SpvImageFormatR16ui";
620   case SpvImageFormatR8ui: return "SpvImageFormatR8ui";
621   case SpvImageFormatR64ui: return "SpvImageFormatR64ui";
622   case SpvImageFormatR64i: return "SpvImageFormatR64i";
623   case SpvImageFormatMax: break; /* silence warnings about unhandled enums. */
624   }
625
626   return "unknown";
627}
628
629const char *
630spirv_memorymodel_to_string(SpvMemoryModel v)
631{
632   switch (v) {
633   case SpvMemoryModelSimple: return "SpvMemoryModelSimple";
634   case SpvMemoryModelGLSL450: return "SpvMemoryModelGLSL450";
635   case SpvMemoryModelOpenCL: return "SpvMemoryModelOpenCL";
636   case SpvMemoryModelVulkan: return "SpvMemoryModelVulkan";
637   case SpvMemoryModelMax: break; /* silence warnings about unhandled enums. */
638   }
639
640   return "unknown";
641}
642
643const char *
644spirv_storageclass_to_string(SpvStorageClass v)
645{
646   switch (v) {
647   case SpvStorageClassUniformConstant: return "SpvStorageClassUniformConstant";
648   case SpvStorageClassInput: return "SpvStorageClassInput";
649   case SpvStorageClassUniform: return "SpvStorageClassUniform";
650   case SpvStorageClassOutput: return "SpvStorageClassOutput";
651   case SpvStorageClassWorkgroup: return "SpvStorageClassWorkgroup";
652   case SpvStorageClassCrossWorkgroup: return "SpvStorageClassCrossWorkgroup";
653   case SpvStorageClassPrivate: return "SpvStorageClassPrivate";
654   case SpvStorageClassFunction: return "SpvStorageClassFunction";
655   case SpvStorageClassGeneric: return "SpvStorageClassGeneric";
656   case SpvStorageClassPushConstant: return "SpvStorageClassPushConstant";
657   case SpvStorageClassAtomicCounter: return "SpvStorageClassAtomicCounter";
658   case SpvStorageClassImage: return "SpvStorageClassImage";
659   case SpvStorageClassStorageBuffer: return "SpvStorageClassStorageBuffer";
660   case SpvStorageClassCallableDataNV: return "SpvStorageClassCallableDataNV";
661   case SpvStorageClassIncomingCallableDataNV: return "SpvStorageClassIncomingCallableDataNV";
662   case SpvStorageClassRayPayloadNV: return "SpvStorageClassRayPayloadNV";
663   case SpvStorageClassHitAttributeNV: return "SpvStorageClassHitAttributeNV";
664   case SpvStorageClassIncomingRayPayloadNV: return "SpvStorageClassIncomingRayPayloadNV";
665   case SpvStorageClassShaderRecordBufferNV: return "SpvStorageClassShaderRecordBufferNV";
666   case SpvStorageClassPhysicalStorageBuffer: return "SpvStorageClassPhysicalStorageBuffer";
667   case SpvStorageClassCodeSectionINTEL: return "SpvStorageClassCodeSectionINTEL";
668   case SpvStorageClassDeviceOnlyINTEL: return "SpvStorageClassDeviceOnlyINTEL";
669   case SpvStorageClassHostOnlyINTEL: return "SpvStorageClassHostOnlyINTEL";
670   case SpvStorageClassMax: break; /* silence warnings about unhandled enums. */
671   }
672
673   return "unknown";
674}
675
676const char *
677spirv_imageoperands_to_string(SpvImageOperandsMask v)
678{
679   switch (v) {
680   case SpvImageOperandsMaskNone: return "SpvImageOperandsNone";
681   case SpvImageOperandsBiasMask: return "SpvImageOperandsBias";
682   case SpvImageOperandsLodMask: return "SpvImageOperandsLod";
683   case SpvImageOperandsGradMask: return "SpvImageOperandsGrad";
684   case SpvImageOperandsConstOffsetMask: return "SpvImageOperandsConstOffset";
685   case SpvImageOperandsOffsetMask: return "SpvImageOperandsOffset";
686   case SpvImageOperandsConstOffsetsMask: return "SpvImageOperandsConstOffsets";
687   case SpvImageOperandsSampleMask: return "SpvImageOperandsSample";
688   case SpvImageOperandsMinLodMask: return "SpvImageOperandsMinLod";
689   case SpvImageOperandsMakeTexelAvailableMask: return "SpvImageOperandsMakeTexelAvailable";
690   case SpvImageOperandsMakeTexelVisibleMask: return "SpvImageOperandsMakeTexelVisible";
691   case SpvImageOperandsNonPrivateTexelMask: return "SpvImageOperandsNonPrivateTexel";
692   case SpvImageOperandsVolatileTexelMask: return "SpvImageOperandsVolatileTexel";
693   case SpvImageOperandsSignExtendMask: return "SpvImageOperandsSignExtend";
694   case SpvImageOperandsZeroExtendMask: return "SpvImageOperandsZeroExtend";
695   }
696
697   return "unknown";
698}
699
700const char *
701spirv_fproundingmode_to_string(SpvFPRoundingMode v)
702{
703   switch (v) {
704   case SpvFPRoundingModeRTE: return "SpvFPRoundingModeRTE";
705   case SpvFPRoundingModeRTZ: return "SpvFPRoundingModeRTZ";
706   case SpvFPRoundingModeRTP: return "SpvFPRoundingModeRTP";
707   case SpvFPRoundingModeRTN: return "SpvFPRoundingModeRTN";
708   case SpvFPRoundingModeMax: break; /* silence warnings about unhandled enums. */
709   }
710
711   return "unknown";
712}
713
714const char *
715spirv_op_to_string(SpvOp v)
716{
717   switch (v) {
718   case SpvOpNop: return "SpvOpNop";
719   case SpvOpUndef: return "SpvOpUndef";
720   case SpvOpSourceContinued: return "SpvOpSourceContinued";
721   case SpvOpSource: return "SpvOpSource";
722   case SpvOpSourceExtension: return "SpvOpSourceExtension";
723   case SpvOpName: return "SpvOpName";
724   case SpvOpMemberName: return "SpvOpMemberName";
725   case SpvOpString: return "SpvOpString";
726   case SpvOpLine: return "SpvOpLine";
727   case SpvOpExtension: return "SpvOpExtension";
728   case SpvOpExtInstImport: return "SpvOpExtInstImport";
729   case SpvOpExtInst: return "SpvOpExtInst";
730   case SpvOpMemoryModel: return "SpvOpMemoryModel";
731   case SpvOpEntryPoint: return "SpvOpEntryPoint";
732   case SpvOpExecutionMode: return "SpvOpExecutionMode";
733   case SpvOpCapability: return "SpvOpCapability";
734   case SpvOpTypeVoid: return "SpvOpTypeVoid";
735   case SpvOpTypeBool: return "SpvOpTypeBool";
736   case SpvOpTypeInt: return "SpvOpTypeInt";
737   case SpvOpTypeFloat: return "SpvOpTypeFloat";
738   case SpvOpTypeVector: return "SpvOpTypeVector";
739   case SpvOpTypeMatrix: return "SpvOpTypeMatrix";
740   case SpvOpTypeImage: return "SpvOpTypeImage";
741   case SpvOpTypeSampler: return "SpvOpTypeSampler";
742   case SpvOpTypeSampledImage: return "SpvOpTypeSampledImage";
743   case SpvOpTypeArray: return "SpvOpTypeArray";
744   case SpvOpTypeRuntimeArray: return "SpvOpTypeRuntimeArray";
745   case SpvOpTypeStruct: return "SpvOpTypeStruct";
746   case SpvOpTypeOpaque: return "SpvOpTypeOpaque";
747   case SpvOpTypePointer: return "SpvOpTypePointer";
748   case SpvOpTypeFunction: return "SpvOpTypeFunction";
749   case SpvOpTypeEvent: return "SpvOpTypeEvent";
750   case SpvOpTypeDeviceEvent: return "SpvOpTypeDeviceEvent";
751   case SpvOpTypeReserveId: return "SpvOpTypeReserveId";
752   case SpvOpTypeQueue: return "SpvOpTypeQueue";
753   case SpvOpTypePipe: return "SpvOpTypePipe";
754   case SpvOpTypeForwardPointer: return "SpvOpTypeForwardPointer";
755   case SpvOpConstantTrue: return "SpvOpConstantTrue";
756   case SpvOpConstantFalse: return "SpvOpConstantFalse";
757   case SpvOpConstant: return "SpvOpConstant";
758   case SpvOpConstantComposite: return "SpvOpConstantComposite";
759   case SpvOpConstantSampler: return "SpvOpConstantSampler";
760   case SpvOpConstantNull: return "SpvOpConstantNull";
761   case SpvOpSpecConstantTrue: return "SpvOpSpecConstantTrue";
762   case SpvOpSpecConstantFalse: return "SpvOpSpecConstantFalse";
763   case SpvOpSpecConstant: return "SpvOpSpecConstant";
764   case SpvOpSpecConstantComposite: return "SpvOpSpecConstantComposite";
765   case SpvOpSpecConstantOp: return "SpvOpSpecConstantOp";
766   case SpvOpFunction: return "SpvOpFunction";
767   case SpvOpFunctionParameter: return "SpvOpFunctionParameter";
768   case SpvOpFunctionEnd: return "SpvOpFunctionEnd";
769   case SpvOpFunctionCall: return "SpvOpFunctionCall";
770   case SpvOpVariable: return "SpvOpVariable";
771   case SpvOpImageTexelPointer: return "SpvOpImageTexelPointer";
772   case SpvOpLoad: return "SpvOpLoad";
773   case SpvOpStore: return "SpvOpStore";
774   case SpvOpCopyMemory: return "SpvOpCopyMemory";
775   case SpvOpCopyMemorySized: return "SpvOpCopyMemorySized";
776   case SpvOpAccessChain: return "SpvOpAccessChain";
777   case SpvOpInBoundsAccessChain: return "SpvOpInBoundsAccessChain";
778   case SpvOpPtrAccessChain: return "SpvOpPtrAccessChain";
779   case SpvOpArrayLength: return "SpvOpArrayLength";
780   case SpvOpGenericPtrMemSemantics: return "SpvOpGenericPtrMemSemantics";
781   case SpvOpInBoundsPtrAccessChain: return "SpvOpInBoundsPtrAccessChain";
782   case SpvOpDecorate: return "SpvOpDecorate";
783   case SpvOpMemberDecorate: return "SpvOpMemberDecorate";
784   case SpvOpDecorationGroup: return "SpvOpDecorationGroup";
785   case SpvOpGroupDecorate: return "SpvOpGroupDecorate";
786   case SpvOpGroupMemberDecorate: return "SpvOpGroupMemberDecorate";
787   case SpvOpVectorExtractDynamic: return "SpvOpVectorExtractDynamic";
788   case SpvOpVectorInsertDynamic: return "SpvOpVectorInsertDynamic";
789   case SpvOpVectorShuffle: return "SpvOpVectorShuffle";
790   case SpvOpCompositeConstruct: return "SpvOpCompositeConstruct";
791   case SpvOpCompositeExtract: return "SpvOpCompositeExtract";
792   case SpvOpCompositeInsert: return "SpvOpCompositeInsert";
793   case SpvOpCopyObject: return "SpvOpCopyObject";
794   case SpvOpTranspose: return "SpvOpTranspose";
795   case SpvOpSampledImage: return "SpvOpSampledImage";
796   case SpvOpImageSampleImplicitLod: return "SpvOpImageSampleImplicitLod";
797   case SpvOpImageSampleExplicitLod: return "SpvOpImageSampleExplicitLod";
798   case SpvOpImageSampleDrefImplicitLod: return "SpvOpImageSampleDrefImplicitLod";
799   case SpvOpImageSampleDrefExplicitLod: return "SpvOpImageSampleDrefExplicitLod";
800   case SpvOpImageSampleProjImplicitLod: return "SpvOpImageSampleProjImplicitLod";
801   case SpvOpImageSampleProjExplicitLod: return "SpvOpImageSampleProjExplicitLod";
802   case SpvOpImageSampleProjDrefImplicitLod: return "SpvOpImageSampleProjDrefImplicitLod";
803   case SpvOpImageSampleProjDrefExplicitLod: return "SpvOpImageSampleProjDrefExplicitLod";
804   case SpvOpImageFetch: return "SpvOpImageFetch";
805   case SpvOpImageGather: return "SpvOpImageGather";
806   case SpvOpImageDrefGather: return "SpvOpImageDrefGather";
807   case SpvOpImageRead: return "SpvOpImageRead";
808   case SpvOpImageWrite: return "SpvOpImageWrite";
809   case SpvOpImage: return "SpvOpImage";
810   case SpvOpImageQueryFormat: return "SpvOpImageQueryFormat";
811   case SpvOpImageQueryOrder: return "SpvOpImageQueryOrder";
812   case SpvOpImageQuerySizeLod: return "SpvOpImageQuerySizeLod";
813   case SpvOpImageQuerySize: return "SpvOpImageQuerySize";
814   case SpvOpImageQueryLod: return "SpvOpImageQueryLod";
815   case SpvOpImageQueryLevels: return "SpvOpImageQueryLevels";
816   case SpvOpImageQuerySamples: return "SpvOpImageQuerySamples";
817   case SpvOpConvertFToU: return "SpvOpConvertFToU";
818   case SpvOpConvertFToS: return "SpvOpConvertFToS";
819   case SpvOpConvertSToF: return "SpvOpConvertSToF";
820   case SpvOpConvertUToF: return "SpvOpConvertUToF";
821   case SpvOpUConvert: return "SpvOpUConvert";
822   case SpvOpSConvert: return "SpvOpSConvert";
823   case SpvOpFConvert: return "SpvOpFConvert";
824   case SpvOpQuantizeToF16: return "SpvOpQuantizeToF16";
825   case SpvOpConvertPtrToU: return "SpvOpConvertPtrToU";
826   case SpvOpSatConvertSToU: return "SpvOpSatConvertSToU";
827   case SpvOpSatConvertUToS: return "SpvOpSatConvertUToS";
828   case SpvOpConvertUToPtr: return "SpvOpConvertUToPtr";
829   case SpvOpPtrCastToGeneric: return "SpvOpPtrCastToGeneric";
830   case SpvOpGenericCastToPtr: return "SpvOpGenericCastToPtr";
831   case SpvOpGenericCastToPtrExplicit: return "SpvOpGenericCastToPtrExplicit";
832   case SpvOpBitcast: return "SpvOpBitcast";
833   case SpvOpSNegate: return "SpvOpSNegate";
834   case SpvOpFNegate: return "SpvOpFNegate";
835   case SpvOpIAdd: return "SpvOpIAdd";
836   case SpvOpFAdd: return "SpvOpFAdd";
837   case SpvOpISub: return "SpvOpISub";
838   case SpvOpFSub: return "SpvOpFSub";
839   case SpvOpIMul: return "SpvOpIMul";
840   case SpvOpFMul: return "SpvOpFMul";
841   case SpvOpUDiv: return "SpvOpUDiv";
842   case SpvOpSDiv: return "SpvOpSDiv";
843   case SpvOpFDiv: return "SpvOpFDiv";
844   case SpvOpUMod: return "SpvOpUMod";
845   case SpvOpSRem: return "SpvOpSRem";
846   case SpvOpSMod: return "SpvOpSMod";
847   case SpvOpFRem: return "SpvOpFRem";
848   case SpvOpFMod: return "SpvOpFMod";
849   case SpvOpVectorTimesScalar: return "SpvOpVectorTimesScalar";
850   case SpvOpMatrixTimesScalar: return "SpvOpMatrixTimesScalar";
851   case SpvOpVectorTimesMatrix: return "SpvOpVectorTimesMatrix";
852   case SpvOpMatrixTimesVector: return "SpvOpMatrixTimesVector";
853   case SpvOpMatrixTimesMatrix: return "SpvOpMatrixTimesMatrix";
854   case SpvOpOuterProduct: return "SpvOpOuterProduct";
855   case SpvOpDot: return "SpvOpDot";
856   case SpvOpIAddCarry: return "SpvOpIAddCarry";
857   case SpvOpISubBorrow: return "SpvOpISubBorrow";
858   case SpvOpUMulExtended: return "SpvOpUMulExtended";
859   case SpvOpSMulExtended: return "SpvOpSMulExtended";
860   case SpvOpAny: return "SpvOpAny";
861   case SpvOpAll: return "SpvOpAll";
862   case SpvOpIsNan: return "SpvOpIsNan";
863   case SpvOpIsInf: return "SpvOpIsInf";
864   case SpvOpIsFinite: return "SpvOpIsFinite";
865   case SpvOpIsNormal: return "SpvOpIsNormal";
866   case SpvOpSignBitSet: return "SpvOpSignBitSet";
867   case SpvOpLessOrGreater: return "SpvOpLessOrGreater";
868   case SpvOpOrdered: return "SpvOpOrdered";
869   case SpvOpUnordered: return "SpvOpUnordered";
870   case SpvOpLogicalEqual: return "SpvOpLogicalEqual";
871   case SpvOpLogicalNotEqual: return "SpvOpLogicalNotEqual";
872   case SpvOpLogicalOr: return "SpvOpLogicalOr";
873   case SpvOpLogicalAnd: return "SpvOpLogicalAnd";
874   case SpvOpLogicalNot: return "SpvOpLogicalNot";
875   case SpvOpSelect: return "SpvOpSelect";
876   case SpvOpIEqual: return "SpvOpIEqual";
877   case SpvOpINotEqual: return "SpvOpINotEqual";
878   case SpvOpUGreaterThan: return "SpvOpUGreaterThan";
879   case SpvOpSGreaterThan: return "SpvOpSGreaterThan";
880   case SpvOpUGreaterThanEqual: return "SpvOpUGreaterThanEqual";
881   case SpvOpSGreaterThanEqual: return "SpvOpSGreaterThanEqual";
882   case SpvOpULessThan: return "SpvOpULessThan";
883   case SpvOpSLessThan: return "SpvOpSLessThan";
884   case SpvOpULessThanEqual: return "SpvOpULessThanEqual";
885   case SpvOpSLessThanEqual: return "SpvOpSLessThanEqual";
886   case SpvOpFOrdEqual: return "SpvOpFOrdEqual";
887   case SpvOpFUnordEqual: return "SpvOpFUnordEqual";
888   case SpvOpFOrdNotEqual: return "SpvOpFOrdNotEqual";
889   case SpvOpFUnordNotEqual: return "SpvOpFUnordNotEqual";
890   case SpvOpFOrdLessThan: return "SpvOpFOrdLessThan";
891   case SpvOpFUnordLessThan: return "SpvOpFUnordLessThan";
892   case SpvOpFOrdGreaterThan: return "SpvOpFOrdGreaterThan";
893   case SpvOpFUnordGreaterThan: return "SpvOpFUnordGreaterThan";
894   case SpvOpFOrdLessThanEqual: return "SpvOpFOrdLessThanEqual";
895   case SpvOpFUnordLessThanEqual: return "SpvOpFUnordLessThanEqual";
896   case SpvOpFOrdGreaterThanEqual: return "SpvOpFOrdGreaterThanEqual";
897   case SpvOpFUnordGreaterThanEqual: return "SpvOpFUnordGreaterThanEqual";
898   case SpvOpShiftRightLogical: return "SpvOpShiftRightLogical";
899   case SpvOpShiftRightArithmetic: return "SpvOpShiftRightArithmetic";
900   case SpvOpShiftLeftLogical: return "SpvOpShiftLeftLogical";
901   case SpvOpBitwiseOr: return "SpvOpBitwiseOr";
902   case SpvOpBitwiseXor: return "SpvOpBitwiseXor";
903   case SpvOpBitwiseAnd: return "SpvOpBitwiseAnd";
904   case SpvOpNot: return "SpvOpNot";
905   case SpvOpBitFieldInsert: return "SpvOpBitFieldInsert";
906   case SpvOpBitFieldSExtract: return "SpvOpBitFieldSExtract";
907   case SpvOpBitFieldUExtract: return "SpvOpBitFieldUExtract";
908   case SpvOpBitReverse: return "SpvOpBitReverse";
909   case SpvOpBitCount: return "SpvOpBitCount";
910   case SpvOpDPdx: return "SpvOpDPdx";
911   case SpvOpDPdy: return "SpvOpDPdy";
912   case SpvOpFwidth: return "SpvOpFwidth";
913   case SpvOpDPdxFine: return "SpvOpDPdxFine";
914   case SpvOpDPdyFine: return "SpvOpDPdyFine";
915   case SpvOpFwidthFine: return "SpvOpFwidthFine";
916   case SpvOpDPdxCoarse: return "SpvOpDPdxCoarse";
917   case SpvOpDPdyCoarse: return "SpvOpDPdyCoarse";
918   case SpvOpFwidthCoarse: return "SpvOpFwidthCoarse";
919   case SpvOpEmitVertex: return "SpvOpEmitVertex";
920   case SpvOpEndPrimitive: return "SpvOpEndPrimitive";
921   case SpvOpEmitStreamVertex: return "SpvOpEmitStreamVertex";
922   case SpvOpEndStreamPrimitive: return "SpvOpEndStreamPrimitive";
923   case SpvOpControlBarrier: return "SpvOpControlBarrier";
924   case SpvOpMemoryBarrier: return "SpvOpMemoryBarrier";
925   case SpvOpAtomicLoad: return "SpvOpAtomicLoad";
926   case SpvOpAtomicStore: return "SpvOpAtomicStore";
927   case SpvOpAtomicExchange: return "SpvOpAtomicExchange";
928   case SpvOpAtomicCompareExchange: return "SpvOpAtomicCompareExchange";
929   case SpvOpAtomicCompareExchangeWeak: return "SpvOpAtomicCompareExchangeWeak";
930   case SpvOpAtomicIIncrement: return "SpvOpAtomicIIncrement";
931   case SpvOpAtomicIDecrement: return "SpvOpAtomicIDecrement";
932   case SpvOpAtomicIAdd: return "SpvOpAtomicIAdd";
933   case SpvOpAtomicISub: return "SpvOpAtomicISub";
934   case SpvOpAtomicSMin: return "SpvOpAtomicSMin";
935   case SpvOpAtomicUMin: return "SpvOpAtomicUMin";
936   case SpvOpAtomicSMax: return "SpvOpAtomicSMax";
937   case SpvOpAtomicUMax: return "SpvOpAtomicUMax";
938   case SpvOpAtomicAnd: return "SpvOpAtomicAnd";
939   case SpvOpAtomicOr: return "SpvOpAtomicOr";
940   case SpvOpAtomicXor: return "SpvOpAtomicXor";
941   case SpvOpPhi: return "SpvOpPhi";
942   case SpvOpLoopMerge: return "SpvOpLoopMerge";
943   case SpvOpSelectionMerge: return "SpvOpSelectionMerge";
944   case SpvOpLabel: return "SpvOpLabel";
945   case SpvOpBranch: return "SpvOpBranch";
946   case SpvOpBranchConditional: return "SpvOpBranchConditional";
947   case SpvOpSwitch: return "SpvOpSwitch";
948   case SpvOpKill: return "SpvOpKill";
949   case SpvOpReturn: return "SpvOpReturn";
950   case SpvOpReturnValue: return "SpvOpReturnValue";
951   case SpvOpUnreachable: return "SpvOpUnreachable";
952   case SpvOpLifetimeStart: return "SpvOpLifetimeStart";
953   case SpvOpLifetimeStop: return "SpvOpLifetimeStop";
954   case SpvOpGroupAsyncCopy: return "SpvOpGroupAsyncCopy";
955   case SpvOpGroupWaitEvents: return "SpvOpGroupWaitEvents";
956   case SpvOpGroupAll: return "SpvOpGroupAll";
957   case SpvOpGroupAny: return "SpvOpGroupAny";
958   case SpvOpGroupBroadcast: return "SpvOpGroupBroadcast";
959   case SpvOpGroupIAdd: return "SpvOpGroupIAdd";
960   case SpvOpGroupFAdd: return "SpvOpGroupFAdd";
961   case SpvOpGroupFMin: return "SpvOpGroupFMin";
962   case SpvOpGroupUMin: return "SpvOpGroupUMin";
963   case SpvOpGroupSMin: return "SpvOpGroupSMin";
964   case SpvOpGroupFMax: return "SpvOpGroupFMax";
965   case SpvOpGroupUMax: return "SpvOpGroupUMax";
966   case SpvOpGroupSMax: return "SpvOpGroupSMax";
967   case SpvOpReadPipe: return "SpvOpReadPipe";
968   case SpvOpWritePipe: return "SpvOpWritePipe";
969   case SpvOpReservedReadPipe: return "SpvOpReservedReadPipe";
970   case SpvOpReservedWritePipe: return "SpvOpReservedWritePipe";
971   case SpvOpReserveReadPipePackets: return "SpvOpReserveReadPipePackets";
972   case SpvOpReserveWritePipePackets: return "SpvOpReserveWritePipePackets";
973   case SpvOpCommitReadPipe: return "SpvOpCommitReadPipe";
974   case SpvOpCommitWritePipe: return "SpvOpCommitWritePipe";
975   case SpvOpIsValidReserveId: return "SpvOpIsValidReserveId";
976   case SpvOpGetNumPipePackets: return "SpvOpGetNumPipePackets";
977   case SpvOpGetMaxPipePackets: return "SpvOpGetMaxPipePackets";
978   case SpvOpGroupReserveReadPipePackets: return "SpvOpGroupReserveReadPipePackets";
979   case SpvOpGroupReserveWritePipePackets: return "SpvOpGroupReserveWritePipePackets";
980   case SpvOpGroupCommitReadPipe: return "SpvOpGroupCommitReadPipe";
981   case SpvOpGroupCommitWritePipe: return "SpvOpGroupCommitWritePipe";
982   case SpvOpEnqueueMarker: return "SpvOpEnqueueMarker";
983   case SpvOpEnqueueKernel: return "SpvOpEnqueueKernel";
984   case SpvOpGetKernelNDrangeSubGroupCount: return "SpvOpGetKernelNDrangeSubGroupCount";
985   case SpvOpGetKernelNDrangeMaxSubGroupSize: return "SpvOpGetKernelNDrangeMaxSubGroupSize";
986   case SpvOpGetKernelWorkGroupSize: return "SpvOpGetKernelWorkGroupSize";
987   case SpvOpGetKernelPreferredWorkGroupSizeMultiple: return "SpvOpGetKernelPreferredWorkGroupSizeMultiple";
988   case SpvOpRetainEvent: return "SpvOpRetainEvent";
989   case SpvOpReleaseEvent: return "SpvOpReleaseEvent";
990   case SpvOpCreateUserEvent: return "SpvOpCreateUserEvent";
991   case SpvOpIsValidEvent: return "SpvOpIsValidEvent";
992   case SpvOpSetUserEventStatus: return "SpvOpSetUserEventStatus";
993   case SpvOpCaptureEventProfilingInfo: return "SpvOpCaptureEventProfilingInfo";
994   case SpvOpGetDefaultQueue: return "SpvOpGetDefaultQueue";
995   case SpvOpBuildNDRange: return "SpvOpBuildNDRange";
996   case SpvOpImageSparseSampleImplicitLod: return "SpvOpImageSparseSampleImplicitLod";
997   case SpvOpImageSparseSampleExplicitLod: return "SpvOpImageSparseSampleExplicitLod";
998   case SpvOpImageSparseSampleDrefImplicitLod: return "SpvOpImageSparseSampleDrefImplicitLod";
999   case SpvOpImageSparseSampleDrefExplicitLod: return "SpvOpImageSparseSampleDrefExplicitLod";
1000   case SpvOpImageSparseSampleProjImplicitLod: return "SpvOpImageSparseSampleProjImplicitLod";
1001   case SpvOpImageSparseSampleProjExplicitLod: return "SpvOpImageSparseSampleProjExplicitLod";
1002   case SpvOpImageSparseSampleProjDrefImplicitLod: return "SpvOpImageSparseSampleProjDrefImplicitLod";
1003   case SpvOpImageSparseSampleProjDrefExplicitLod: return "SpvOpImageSparseSampleProjDrefExplicitLod";
1004   case SpvOpImageSparseFetch: return "SpvOpImageSparseFetch";
1005   case SpvOpImageSparseGather: return "SpvOpImageSparseGather";
1006   case SpvOpImageSparseDrefGather: return "SpvOpImageSparseDrefGather";
1007   case SpvOpImageSparseTexelsResident: return "SpvOpImageSparseTexelsResident";
1008   case SpvOpNoLine: return "SpvOpNoLine";
1009   case SpvOpAtomicFlagTestAndSet: return "SpvOpAtomicFlagTestAndSet";
1010   case SpvOpAtomicFlagClear: return "SpvOpAtomicFlagClear";
1011   case SpvOpImageSparseRead: return "SpvOpImageSparseRead";
1012   case SpvOpSizeOf: return "SpvOpSizeOf";
1013   case SpvOpTypePipeStorage: return "SpvOpTypePipeStorage";
1014   case SpvOpConstantPipeStorage: return "SpvOpConstantPipeStorage";
1015   case SpvOpCreatePipeFromPipeStorage: return "SpvOpCreatePipeFromPipeStorage";
1016   case SpvOpGetKernelLocalSizeForSubgroupCount: return "SpvOpGetKernelLocalSizeForSubgroupCount";
1017   case SpvOpGetKernelMaxNumSubgroups: return "SpvOpGetKernelMaxNumSubgroups";
1018   case SpvOpTypeNamedBarrier: return "SpvOpTypeNamedBarrier";
1019   case SpvOpNamedBarrierInitialize: return "SpvOpNamedBarrierInitialize";
1020   case SpvOpMemoryNamedBarrier: return "SpvOpMemoryNamedBarrier";
1021   case SpvOpModuleProcessed: return "SpvOpModuleProcessed";
1022   case SpvOpExecutionModeId: return "SpvOpExecutionModeId";
1023   case SpvOpDecorateId: return "SpvOpDecorateId";
1024   case SpvOpGroupNonUniformElect: return "SpvOpGroupNonUniformElect";
1025   case SpvOpGroupNonUniformAll: return "SpvOpGroupNonUniformAll";
1026   case SpvOpGroupNonUniformAny: return "SpvOpGroupNonUniformAny";
1027   case SpvOpGroupNonUniformAllEqual: return "SpvOpGroupNonUniformAllEqual";
1028   case SpvOpGroupNonUniformBroadcast: return "SpvOpGroupNonUniformBroadcast";
1029   case SpvOpGroupNonUniformBroadcastFirst: return "SpvOpGroupNonUniformBroadcastFirst";
1030   case SpvOpGroupNonUniformBallot: return "SpvOpGroupNonUniformBallot";
1031   case SpvOpGroupNonUniformInverseBallot: return "SpvOpGroupNonUniformInverseBallot";
1032   case SpvOpGroupNonUniformBallotBitExtract: return "SpvOpGroupNonUniformBallotBitExtract";
1033   case SpvOpGroupNonUniformBallotBitCount: return "SpvOpGroupNonUniformBallotBitCount";
1034   case SpvOpGroupNonUniformBallotFindLSB: return "SpvOpGroupNonUniformBallotFindLSB";
1035   case SpvOpGroupNonUniformBallotFindMSB: return "SpvOpGroupNonUniformBallotFindMSB";
1036   case SpvOpGroupNonUniformShuffle: return "SpvOpGroupNonUniformShuffle";
1037   case SpvOpGroupNonUniformShuffleXor: return "SpvOpGroupNonUniformShuffleXor";
1038   case SpvOpGroupNonUniformShuffleUp: return "SpvOpGroupNonUniformShuffleUp";
1039   case SpvOpGroupNonUniformShuffleDown: return "SpvOpGroupNonUniformShuffleDown";
1040   case SpvOpGroupNonUniformIAdd: return "SpvOpGroupNonUniformIAdd";
1041   case SpvOpGroupNonUniformFAdd: return "SpvOpGroupNonUniformFAdd";
1042   case SpvOpGroupNonUniformIMul: return "SpvOpGroupNonUniformIMul";
1043   case SpvOpGroupNonUniformFMul: return "SpvOpGroupNonUniformFMul";
1044   case SpvOpGroupNonUniformSMin: return "SpvOpGroupNonUniformSMin";
1045   case SpvOpGroupNonUniformUMin: return "SpvOpGroupNonUniformUMin";
1046   case SpvOpGroupNonUniformFMin: return "SpvOpGroupNonUniformFMin";
1047   case SpvOpGroupNonUniformSMax: return "SpvOpGroupNonUniformSMax";
1048   case SpvOpGroupNonUniformUMax: return "SpvOpGroupNonUniformUMax";
1049   case SpvOpGroupNonUniformFMax: return "SpvOpGroupNonUniformFMax";
1050   case SpvOpGroupNonUniformBitwiseAnd: return "SpvOpGroupNonUniformBitwiseAnd";
1051   case SpvOpGroupNonUniformBitwiseOr: return "SpvOpGroupNonUniformBitwiseOr";
1052   case SpvOpGroupNonUniformBitwiseXor: return "SpvOpGroupNonUniformBitwiseXor";
1053   case SpvOpGroupNonUniformLogicalAnd: return "SpvOpGroupNonUniformLogicalAnd";
1054   case SpvOpGroupNonUniformLogicalOr: return "SpvOpGroupNonUniformLogicalOr";
1055   case SpvOpGroupNonUniformLogicalXor: return "SpvOpGroupNonUniformLogicalXor";
1056   case SpvOpGroupNonUniformQuadBroadcast: return "SpvOpGroupNonUniformQuadBroadcast";
1057   case SpvOpGroupNonUniformQuadSwap: return "SpvOpGroupNonUniformQuadSwap";
1058   case SpvOpCopyLogical: return "SpvOpCopyLogical";
1059   case SpvOpPtrEqual: return "SpvOpPtrEqual";
1060   case SpvOpPtrNotEqual: return "SpvOpPtrNotEqual";
1061   case SpvOpPtrDiff: return "SpvOpPtrDiff";
1062   case SpvOpTerminateInvocation: return "SpvOpTerminateInvocation";
1063   case SpvOpSubgroupBallotKHR: return "SpvOpSubgroupBallotKHR";
1064   case SpvOpSubgroupFirstInvocationKHR: return "SpvOpSubgroupFirstInvocationKHR";
1065   case SpvOpSubgroupAllKHR: return "SpvOpSubgroupAllKHR";
1066   case SpvOpSubgroupAnyKHR: return "SpvOpSubgroupAnyKHR";
1067   case SpvOpSubgroupAllEqualKHR: return "SpvOpSubgroupAllEqualKHR";
1068   case SpvOpSubgroupReadInvocationKHR: return "SpvOpSubgroupReadInvocationKHR";
1069   case SpvOpTraceRayKHR: return "SpvOpTraceRayKHR";
1070   case SpvOpExecuteCallableKHR: return "SpvOpExecuteCallableKHR";
1071   case SpvOpConvertUToAccelerationStructureKHR: return "SpvOpConvertUToAccelerationStructureKHR";
1072   case SpvOpIgnoreIntersectionKHR: return "SpvOpIgnoreIntersectionKHR";
1073   case SpvOpTerminateRayKHR: return "SpvOpTerminateRayKHR";
1074   case SpvOpSDotKHR: return "SpvOpSDotKHR";
1075   case SpvOpUDotKHR: return "SpvOpUDotKHR";
1076   case SpvOpSUDotKHR: return "SpvOpSUDotKHR";
1077   case SpvOpSDotAccSatKHR: return "SpvOpSDotAccSatKHR";
1078   case SpvOpUDotAccSatKHR: return "SpvOpUDotAccSatKHR";
1079   case SpvOpSUDotAccSatKHR: return "SpvOpSUDotAccSatKHR";
1080   case SpvOpTypeRayQueryKHR: return "SpvOpTypeRayQueryKHR";
1081   case SpvOpRayQueryInitializeKHR: return "SpvOpRayQueryInitializeKHR";
1082   case SpvOpRayQueryTerminateKHR: return "SpvOpRayQueryTerminateKHR";
1083   case SpvOpRayQueryGenerateIntersectionKHR: return "SpvOpRayQueryGenerateIntersectionKHR";
1084   case SpvOpRayQueryConfirmIntersectionKHR: return "SpvOpRayQueryConfirmIntersectionKHR";
1085   case SpvOpRayQueryProceedKHR: return "SpvOpRayQueryProceedKHR";
1086   case SpvOpRayQueryGetIntersectionTypeKHR: return "SpvOpRayQueryGetIntersectionTypeKHR";
1087   case SpvOpGroupIAddNonUniformAMD: return "SpvOpGroupIAddNonUniformAMD";
1088   case SpvOpGroupFAddNonUniformAMD: return "SpvOpGroupFAddNonUniformAMD";
1089   case SpvOpGroupFMinNonUniformAMD: return "SpvOpGroupFMinNonUniformAMD";
1090   case SpvOpGroupUMinNonUniformAMD: return "SpvOpGroupUMinNonUniformAMD";
1091   case SpvOpGroupSMinNonUniformAMD: return "SpvOpGroupSMinNonUniformAMD";
1092   case SpvOpGroupFMaxNonUniformAMD: return "SpvOpGroupFMaxNonUniformAMD";
1093   case SpvOpGroupUMaxNonUniformAMD: return "SpvOpGroupUMaxNonUniformAMD";
1094   case SpvOpGroupSMaxNonUniformAMD: return "SpvOpGroupSMaxNonUniformAMD";
1095   case SpvOpFragmentMaskFetchAMD: return "SpvOpFragmentMaskFetchAMD";
1096   case SpvOpFragmentFetchAMD: return "SpvOpFragmentFetchAMD";
1097   case SpvOpReadClockKHR: return "SpvOpReadClockKHR";
1098   case SpvOpImageSampleFootprintNV: return "SpvOpImageSampleFootprintNV";
1099   case SpvOpGroupNonUniformPartitionNV: return "SpvOpGroupNonUniformPartitionNV";
1100   case SpvOpWritePackedPrimitiveIndices4x8NV: return "SpvOpWritePackedPrimitiveIndices4x8NV";
1101   case SpvOpReportIntersectionNV: return "SpvOpReportIntersectionNV";
1102   case SpvOpIgnoreIntersectionNV: return "SpvOpIgnoreIntersectionNV";
1103   case SpvOpTerminateRayNV: return "SpvOpTerminateRayNV";
1104   case SpvOpTraceNV: return "SpvOpTraceNV";
1105   case SpvOpTypeAccelerationStructureNV: return "SpvOpTypeAccelerationStructureNV";
1106   case SpvOpExecuteCallableNV: return "SpvOpExecuteCallableNV";
1107   case SpvOpTypeCooperativeMatrixNV: return "SpvOpTypeCooperativeMatrixNV";
1108   case SpvOpCooperativeMatrixLoadNV: return "SpvOpCooperativeMatrixLoadNV";
1109   case SpvOpCooperativeMatrixStoreNV: return "SpvOpCooperativeMatrixStoreNV";
1110   case SpvOpCooperativeMatrixMulAddNV: return "SpvOpCooperativeMatrixMulAddNV";
1111   case SpvOpCooperativeMatrixLengthNV: return "SpvOpCooperativeMatrixLengthNV";
1112   case SpvOpBeginInvocationInterlockEXT: return "SpvOpBeginInvocationInterlockEXT";
1113   case SpvOpEndInvocationInterlockEXT: return "SpvOpEndInvocationInterlockEXT";
1114   case SpvOpDemoteToHelperInvocationEXT: return "SpvOpDemoteToHelperInvocationEXT";
1115   case SpvOpIsHelperInvocationEXT: return "SpvOpIsHelperInvocationEXT";
1116   case SpvOpSubgroupShuffleINTEL: return "SpvOpSubgroupShuffleINTEL";
1117   case SpvOpSubgroupShuffleDownINTEL: return "SpvOpSubgroupShuffleDownINTEL";
1118   case SpvOpSubgroupShuffleUpINTEL: return "SpvOpSubgroupShuffleUpINTEL";
1119   case SpvOpSubgroupShuffleXorINTEL: return "SpvOpSubgroupShuffleXorINTEL";
1120   case SpvOpSubgroupBlockReadINTEL: return "SpvOpSubgroupBlockReadINTEL";
1121   case SpvOpSubgroupBlockWriteINTEL: return "SpvOpSubgroupBlockWriteINTEL";
1122   case SpvOpSubgroupImageBlockReadINTEL: return "SpvOpSubgroupImageBlockReadINTEL";
1123   case SpvOpSubgroupImageBlockWriteINTEL: return "SpvOpSubgroupImageBlockWriteINTEL";
1124   case SpvOpSubgroupImageMediaBlockReadINTEL: return "SpvOpSubgroupImageMediaBlockReadINTEL";
1125   case SpvOpSubgroupImageMediaBlockWriteINTEL: return "SpvOpSubgroupImageMediaBlockWriteINTEL";
1126   case SpvOpUCountLeadingZerosINTEL: return "SpvOpUCountLeadingZerosINTEL";
1127   case SpvOpUCountTrailingZerosINTEL: return "SpvOpUCountTrailingZerosINTEL";
1128   case SpvOpAbsISubINTEL: return "SpvOpAbsISubINTEL";
1129   case SpvOpAbsUSubINTEL: return "SpvOpAbsUSubINTEL";
1130   case SpvOpIAddSatINTEL: return "SpvOpIAddSatINTEL";
1131   case SpvOpUAddSatINTEL: return "SpvOpUAddSatINTEL";
1132   case SpvOpIAverageINTEL: return "SpvOpIAverageINTEL";
1133   case SpvOpUAverageINTEL: return "SpvOpUAverageINTEL";
1134   case SpvOpIAverageRoundedINTEL: return "SpvOpIAverageRoundedINTEL";
1135   case SpvOpUAverageRoundedINTEL: return "SpvOpUAverageRoundedINTEL";
1136   case SpvOpISubSatINTEL: return "SpvOpISubSatINTEL";
1137   case SpvOpUSubSatINTEL: return "SpvOpUSubSatINTEL";
1138   case SpvOpIMul32x16INTEL: return "SpvOpIMul32x16INTEL";
1139   case SpvOpUMul32x16INTEL: return "SpvOpUMul32x16INTEL";
1140   case SpvOpConstFunctionPointerINTEL: return "SpvOpConstFunctionPointerINTEL";
1141   case SpvOpFunctionPointerCallINTEL: return "SpvOpFunctionPointerCallINTEL";
1142   case SpvOpAsmTargetINTEL: return "SpvOpAsmTargetINTEL";
1143   case SpvOpAsmINTEL: return "SpvOpAsmINTEL";
1144   case SpvOpAsmCallINTEL: return "SpvOpAsmCallINTEL";
1145   case SpvOpAtomicFMinEXT: return "SpvOpAtomicFMinEXT";
1146   case SpvOpAtomicFMaxEXT: return "SpvOpAtomicFMaxEXT";
1147   case SpvOpAssumeTrueKHR: return "SpvOpAssumeTrueKHR";
1148   case SpvOpExpectKHR: return "SpvOpExpectKHR";
1149   case SpvOpDecorateString: return "SpvOpDecorateString";
1150   case SpvOpMemberDecorateString: return "SpvOpMemberDecorateString";
1151   case SpvOpVmeImageINTEL: return "SpvOpVmeImageINTEL";
1152   case SpvOpTypeVmeImageINTEL: return "SpvOpTypeVmeImageINTEL";
1153   case SpvOpTypeAvcImePayloadINTEL: return "SpvOpTypeAvcImePayloadINTEL";
1154   case SpvOpTypeAvcRefPayloadINTEL: return "SpvOpTypeAvcRefPayloadINTEL";
1155   case SpvOpTypeAvcSicPayloadINTEL: return "SpvOpTypeAvcSicPayloadINTEL";
1156   case SpvOpTypeAvcMcePayloadINTEL: return "SpvOpTypeAvcMcePayloadINTEL";
1157   case SpvOpTypeAvcMceResultINTEL: return "SpvOpTypeAvcMceResultINTEL";
1158   case SpvOpTypeAvcImeResultINTEL: return "SpvOpTypeAvcImeResultINTEL";
1159   case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: return "SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL";
1160   case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: return "SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL";
1161   case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: return "SpvOpTypeAvcImeSingleReferenceStreaminINTEL";
1162   case SpvOpTypeAvcImeDualReferenceStreaminINTEL: return "SpvOpTypeAvcImeDualReferenceStreaminINTEL";
1163   case SpvOpTypeAvcRefResultINTEL: return "SpvOpTypeAvcRefResultINTEL";
1164   case SpvOpTypeAvcSicResultINTEL: return "SpvOpTypeAvcSicResultINTEL";
1165   case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL";
1166   case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: return "SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL";
1167   case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL";
1168   case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: return "SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL";
1169   case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL";
1170   case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: return "SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL";
1171   case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL";
1172   case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL";
1173   case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL";
1174   case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL";
1175   case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL";
1176   case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: return "SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL";
1177   case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL";
1178   case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL";
1179   case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL";
1180   case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: return "SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL";
1181   case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: return "SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL";
1182   case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: return "SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL";
1183   case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: return "SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL";
1184   case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: return "SpvOpSubgroupAvcMceConvertToImePayloadINTEL";
1185   case SpvOpSubgroupAvcMceConvertToImeResultINTEL: return "SpvOpSubgroupAvcMceConvertToImeResultINTEL";
1186   case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: return "SpvOpSubgroupAvcMceConvertToRefPayloadINTEL";
1187   case SpvOpSubgroupAvcMceConvertToRefResultINTEL: return "SpvOpSubgroupAvcMceConvertToRefResultINTEL";
1188   case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: return "SpvOpSubgroupAvcMceConvertToSicPayloadINTEL";
1189   case SpvOpSubgroupAvcMceConvertToSicResultINTEL: return "SpvOpSubgroupAvcMceConvertToSicResultINTEL";
1190   case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: return "SpvOpSubgroupAvcMceGetMotionVectorsINTEL";
1191   case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: return "SpvOpSubgroupAvcMceGetInterDistortionsINTEL";
1192   case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: return "SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL";
1193   case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: return "SpvOpSubgroupAvcMceGetInterMajorShapeINTEL";
1194   case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: return "SpvOpSubgroupAvcMceGetInterMinorShapeINTEL";
1195   case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: return "SpvOpSubgroupAvcMceGetInterDirectionsINTEL";
1196   case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: return "SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL";
1197   case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: return "SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL";
1198   case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: return "SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL";
1199   case SpvOpSubgroupAvcImeInitializeINTEL: return "SpvOpSubgroupAvcImeInitializeINTEL";
1200   case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: return "SpvOpSubgroupAvcImeSetSingleReferenceINTEL";
1201   case SpvOpSubgroupAvcImeSetDualReferenceINTEL: return "SpvOpSubgroupAvcImeSetDualReferenceINTEL";
1202   case SpvOpSubgroupAvcImeRefWindowSizeINTEL: return "SpvOpSubgroupAvcImeRefWindowSizeINTEL";
1203   case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: return "SpvOpSubgroupAvcImeAdjustRefOffsetINTEL";
1204   case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: return "SpvOpSubgroupAvcImeConvertToMcePayloadINTEL";
1205   case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: return "SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL";
1206   case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: return "SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL";
1207   case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: return "SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL";
1208   case SpvOpSubgroupAvcImeSetWeightedSadINTEL: return "SpvOpSubgroupAvcImeSetWeightedSadINTEL";
1209   case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL";
1210   case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL";
1211   case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL";
1212   case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL";
1213   case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL";
1214   case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL";
1215   case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL";
1216   case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL";
1217   case SpvOpSubgroupAvcImeConvertToMceResultINTEL: return "SpvOpSubgroupAvcImeConvertToMceResultINTEL";
1218   case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL";
1219   case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL";
1220   case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL";
1221   case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL";
1222   case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL";
1223   case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL";
1224   case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL";
1225   case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL";
1226   case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL";
1227   case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL";
1228   case SpvOpSubgroupAvcImeGetBorderReachedINTEL: return "SpvOpSubgroupAvcImeGetBorderReachedINTEL";
1229   case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: return "SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL";
1230   case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: return "SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL";
1231   case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: return "SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL";
1232   case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: return "SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL";
1233   case SpvOpSubgroupAvcFmeInitializeINTEL: return "SpvOpSubgroupAvcFmeInitializeINTEL";
1234   case SpvOpSubgroupAvcBmeInitializeINTEL: return "SpvOpSubgroupAvcBmeInitializeINTEL";
1235   case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: return "SpvOpSubgroupAvcRefConvertToMcePayloadINTEL";
1236   case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: return "SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL";
1237   case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: return "SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL";
1238   case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: return "SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL";
1239   case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: return "SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL";
1240   case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: return "SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL";
1241   case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: return "SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL";
1242   case SpvOpSubgroupAvcRefConvertToMceResultINTEL: return "SpvOpSubgroupAvcRefConvertToMceResultINTEL";
1243   case SpvOpSubgroupAvcSicInitializeINTEL: return "SpvOpSubgroupAvcSicInitializeINTEL";
1244   case SpvOpSubgroupAvcSicConfigureSkcINTEL: return "SpvOpSubgroupAvcSicConfigureSkcINTEL";
1245   case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: return "SpvOpSubgroupAvcSicConfigureIpeLumaINTEL";
1246   case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: return "SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL";
1247   case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: return "SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL";
1248   case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: return "SpvOpSubgroupAvcSicConvertToMcePayloadINTEL";
1249   case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: return "SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL";
1250   case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: return "SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL";
1251   case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: return "SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL";
1252   case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: return "SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL";
1253   case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: return "SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL";
1254   case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: return "SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL";
1255   case SpvOpSubgroupAvcSicEvaluateIpeINTEL: return "SpvOpSubgroupAvcSicEvaluateIpeINTEL";
1256   case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: return "SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL";
1257   case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: return "SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL";
1258   case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: return "SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL";
1259   case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: return "SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL";
1260   case SpvOpSubgroupAvcSicConvertToMceResultINTEL: return "SpvOpSubgroupAvcSicConvertToMceResultINTEL";
1261   case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: return "SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL";
1262   case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: return "SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL";
1263   case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: return "SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL";
1264   case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: return "SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL";
1265   case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: return "SpvOpSubgroupAvcSicGetIpeChromaModeINTEL";
1266   case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: return "SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL";
1267   case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: return "SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL";
1268   case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: return "SpvOpSubgroupAvcSicGetInterRawSadsINTEL";
1269   case SpvOpVariableLengthArrayINTEL: return "SpvOpVariableLengthArrayINTEL";
1270   case SpvOpSaveMemoryINTEL: return "SpvOpSaveMemoryINTEL";
1271   case SpvOpRestoreMemoryINTEL: return "SpvOpRestoreMemoryINTEL";
1272   case SpvOpArbitraryFloatSinCosPiINTEL: return "SpvOpArbitraryFloatSinCosPiINTEL";
1273   case SpvOpArbitraryFloatCastINTEL: return "SpvOpArbitraryFloatCastINTEL";
1274   case SpvOpArbitraryFloatCastFromIntINTEL: return "SpvOpArbitraryFloatCastFromIntINTEL";
1275   case SpvOpArbitraryFloatCastToIntINTEL: return "SpvOpArbitraryFloatCastToIntINTEL";
1276   case SpvOpArbitraryFloatAddINTEL: return "SpvOpArbitraryFloatAddINTEL";
1277   case SpvOpArbitraryFloatSubINTEL: return "SpvOpArbitraryFloatSubINTEL";
1278   case SpvOpArbitraryFloatMulINTEL: return "SpvOpArbitraryFloatMulINTEL";
1279   case SpvOpArbitraryFloatDivINTEL: return "SpvOpArbitraryFloatDivINTEL";
1280   case SpvOpArbitraryFloatGTINTEL: return "SpvOpArbitraryFloatGTINTEL";
1281   case SpvOpArbitraryFloatGEINTEL: return "SpvOpArbitraryFloatGEINTEL";
1282   case SpvOpArbitraryFloatLTINTEL: return "SpvOpArbitraryFloatLTINTEL";
1283   case SpvOpArbitraryFloatLEINTEL: return "SpvOpArbitraryFloatLEINTEL";
1284   case SpvOpArbitraryFloatEQINTEL: return "SpvOpArbitraryFloatEQINTEL";
1285   case SpvOpArbitraryFloatRecipINTEL: return "SpvOpArbitraryFloatRecipINTEL";
1286   case SpvOpArbitraryFloatRSqrtINTEL: return "SpvOpArbitraryFloatRSqrtINTEL";
1287   case SpvOpArbitraryFloatCbrtINTEL: return "SpvOpArbitraryFloatCbrtINTEL";
1288   case SpvOpArbitraryFloatHypotINTEL: return "SpvOpArbitraryFloatHypotINTEL";
1289   case SpvOpArbitraryFloatSqrtINTEL: return "SpvOpArbitraryFloatSqrtINTEL";
1290   case SpvOpArbitraryFloatLogINTEL: return "SpvOpArbitraryFloatLogINTEL";
1291   case SpvOpArbitraryFloatLog2INTEL: return "SpvOpArbitraryFloatLog2INTEL";
1292   case SpvOpArbitraryFloatLog10INTEL: return "SpvOpArbitraryFloatLog10INTEL";
1293   case SpvOpArbitraryFloatLog1pINTEL: return "SpvOpArbitraryFloatLog1pINTEL";
1294   case SpvOpArbitraryFloatExpINTEL: return "SpvOpArbitraryFloatExpINTEL";
1295   case SpvOpArbitraryFloatExp2INTEL: return "SpvOpArbitraryFloatExp2INTEL";
1296   case SpvOpArbitraryFloatExp10INTEL: return "SpvOpArbitraryFloatExp10INTEL";
1297   case SpvOpArbitraryFloatExpm1INTEL: return "SpvOpArbitraryFloatExpm1INTEL";
1298   case SpvOpArbitraryFloatSinINTEL: return "SpvOpArbitraryFloatSinINTEL";
1299   case SpvOpArbitraryFloatCosINTEL: return "SpvOpArbitraryFloatCosINTEL";
1300   case SpvOpArbitraryFloatSinCosINTEL: return "SpvOpArbitraryFloatSinCosINTEL";
1301   case SpvOpArbitraryFloatSinPiINTEL: return "SpvOpArbitraryFloatSinPiINTEL";
1302   case SpvOpArbitraryFloatCosPiINTEL: return "SpvOpArbitraryFloatCosPiINTEL";
1303   case SpvOpArbitraryFloatASinINTEL: return "SpvOpArbitraryFloatASinINTEL";
1304   case SpvOpArbitraryFloatASinPiINTEL: return "SpvOpArbitraryFloatASinPiINTEL";
1305   case SpvOpArbitraryFloatACosINTEL: return "SpvOpArbitraryFloatACosINTEL";
1306   case SpvOpArbitraryFloatACosPiINTEL: return "SpvOpArbitraryFloatACosPiINTEL";
1307   case SpvOpArbitraryFloatATanINTEL: return "SpvOpArbitraryFloatATanINTEL";
1308   case SpvOpArbitraryFloatATanPiINTEL: return "SpvOpArbitraryFloatATanPiINTEL";
1309   case SpvOpArbitraryFloatATan2INTEL: return "SpvOpArbitraryFloatATan2INTEL";
1310   case SpvOpArbitraryFloatPowINTEL: return "SpvOpArbitraryFloatPowINTEL";
1311   case SpvOpArbitraryFloatPowRINTEL: return "SpvOpArbitraryFloatPowRINTEL";
1312   case SpvOpArbitraryFloatPowNINTEL: return "SpvOpArbitraryFloatPowNINTEL";
1313   case SpvOpLoopControlINTEL: return "SpvOpLoopControlINTEL";
1314   case SpvOpFixedSqrtINTEL: return "SpvOpFixedSqrtINTEL";
1315   case SpvOpFixedRecipINTEL: return "SpvOpFixedRecipINTEL";
1316   case SpvOpFixedRsqrtINTEL: return "SpvOpFixedRsqrtINTEL";
1317   case SpvOpFixedSinINTEL: return "SpvOpFixedSinINTEL";
1318   case SpvOpFixedCosINTEL: return "SpvOpFixedCosINTEL";
1319   case SpvOpFixedSinCosINTEL: return "SpvOpFixedSinCosINTEL";
1320   case SpvOpFixedSinPiINTEL: return "SpvOpFixedSinPiINTEL";
1321   case SpvOpFixedCosPiINTEL: return "SpvOpFixedCosPiINTEL";
1322   case SpvOpFixedSinCosPiINTEL: return "SpvOpFixedSinCosPiINTEL";
1323   case SpvOpFixedLogINTEL: return "SpvOpFixedLogINTEL";
1324   case SpvOpFixedExpINTEL: return "SpvOpFixedExpINTEL";
1325   case SpvOpPtrCastToCrossWorkgroupINTEL: return "SpvOpPtrCastToCrossWorkgroupINTEL";
1326   case SpvOpCrossWorkgroupCastToPtrINTEL: return "SpvOpCrossWorkgroupCastToPtrINTEL";
1327   case SpvOpReadPipeBlockingINTEL: return "SpvOpReadPipeBlockingINTEL";
1328   case SpvOpWritePipeBlockingINTEL: return "SpvOpWritePipeBlockingINTEL";
1329   case SpvOpFPGARegINTEL: return "SpvOpFPGARegINTEL";
1330   case SpvOpRayQueryGetRayTMinKHR: return "SpvOpRayQueryGetRayTMinKHR";
1331   case SpvOpRayQueryGetRayFlagsKHR: return "SpvOpRayQueryGetRayFlagsKHR";
1332   case SpvOpRayQueryGetIntersectionTKHR: return "SpvOpRayQueryGetIntersectionTKHR";
1333   case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: return "SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR";
1334   case SpvOpRayQueryGetIntersectionInstanceIdKHR: return "SpvOpRayQueryGetIntersectionInstanceIdKHR";
1335   case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: return "SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR";
1336   case SpvOpRayQueryGetIntersectionGeometryIndexKHR: return "SpvOpRayQueryGetIntersectionGeometryIndexKHR";
1337   case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: return "SpvOpRayQueryGetIntersectionPrimitiveIndexKHR";
1338   case SpvOpRayQueryGetIntersectionBarycentricsKHR: return "SpvOpRayQueryGetIntersectionBarycentricsKHR";
1339   case SpvOpRayQueryGetIntersectionFrontFaceKHR: return "SpvOpRayQueryGetIntersectionFrontFaceKHR";
1340   case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: return "SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR";
1341   case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: return "SpvOpRayQueryGetIntersectionObjectRayDirectionKHR";
1342   case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: return "SpvOpRayQueryGetIntersectionObjectRayOriginKHR";
1343   case SpvOpRayQueryGetWorldRayDirectionKHR: return "SpvOpRayQueryGetWorldRayDirectionKHR";
1344   case SpvOpRayQueryGetWorldRayOriginKHR: return "SpvOpRayQueryGetWorldRayOriginKHR";
1345   case SpvOpRayQueryGetIntersectionObjectToWorldKHR: return "SpvOpRayQueryGetIntersectionObjectToWorldKHR";
1346   case SpvOpRayQueryGetIntersectionWorldToObjectKHR: return "SpvOpRayQueryGetIntersectionWorldToObjectKHR";
1347   case SpvOpAtomicFAddEXT: return "SpvOpAtomicFAddEXT";
1348   case SpvOpTypeBufferSurfaceINTEL: return "SpvOpTypeBufferSurfaceINTEL";
1349   case SpvOpTypeStructContinuedINTEL: return "SpvOpTypeStructContinuedINTEL";
1350   case SpvOpConstantCompositeContinuedINTEL: return "SpvOpConstantCompositeContinuedINTEL";
1351   case SpvOpSpecConstantCompositeContinuedINTEL: return "SpvOpSpecConstantCompositeContinuedINTEL";
1352   case SpvOpMax: break; /* silence warnings about unhandled enums. */
1353   }
1354
1355   return "unknown";
1356}
1357