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
27 const char *
spirv_addressingmodel_to_string(SpvAddressingModel v)28 spirv_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
41 const char *
spirv_builtin_to_string(SpvBuiltIn v)42 spirv_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
149 const char *
spirv_capability_to_string(SpvCapability v)150 spirv_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 SpvCapabilitySubgroupVoteKHR: return "SpvCapabilitySubgroupVoteKHR";
226 case SpvCapabilityStorageBuffer16BitAccess: return "SpvCapabilityStorageBuffer16BitAccess";
227 case SpvCapabilityUniformAndStorageBuffer16BitAccess: return "SpvCapabilityUniformAndStorageBuffer16BitAccess";
228 case SpvCapabilityStoragePushConstant16: return "SpvCapabilityStoragePushConstant16";
229 case SpvCapabilityStorageInputOutput16: return "SpvCapabilityStorageInputOutput16";
230 case SpvCapabilityDeviceGroup: return "SpvCapabilityDeviceGroup";
231 case SpvCapabilityMultiView: return "SpvCapabilityMultiView";
232 case SpvCapabilityVariablePointersStorageBuffer: return "SpvCapabilityVariablePointersStorageBuffer";
233 case SpvCapabilityVariablePointers: return "SpvCapabilityVariablePointers";
234 case SpvCapabilityAtomicStorageOps: return "SpvCapabilityAtomicStorageOps";
235 case SpvCapabilitySampleMaskPostDepthCoverage: return "SpvCapabilitySampleMaskPostDepthCoverage";
236 case SpvCapabilityStorageBuffer8BitAccess: return "SpvCapabilityStorageBuffer8BitAccess";
237 case SpvCapabilityUniformAndStorageBuffer8BitAccess: return "SpvCapabilityUniformAndStorageBuffer8BitAccess";
238 case SpvCapabilityStoragePushConstant8: return "SpvCapabilityStoragePushConstant8";
239 case SpvCapabilityDenormPreserve: return "SpvCapabilityDenormPreserve";
240 case SpvCapabilityDenormFlushToZero: return "SpvCapabilityDenormFlushToZero";
241 case SpvCapabilitySignedZeroInfNanPreserve: return "SpvCapabilitySignedZeroInfNanPreserve";
242 case SpvCapabilityRoundingModeRTE: return "SpvCapabilityRoundingModeRTE";
243 case SpvCapabilityRoundingModeRTZ: return "SpvCapabilityRoundingModeRTZ";
244 case SpvCapabilityRayQueryProvisionalKHR: return "SpvCapabilityRayQueryProvisionalKHR";
245 case SpvCapabilityRayTraversalPrimitiveCullingProvisionalKHR: return "SpvCapabilityRayTraversalPrimitiveCullingProvisionalKHR";
246 case SpvCapabilityFloat16ImageAMD: return "SpvCapabilityFloat16ImageAMD";
247 case SpvCapabilityImageGatherBiasLodAMD: return "SpvCapabilityImageGatherBiasLodAMD";
248 case SpvCapabilityFragmentMaskAMD: return "SpvCapabilityFragmentMaskAMD";
249 case SpvCapabilityStencilExportEXT: return "SpvCapabilityStencilExportEXT";
250 case SpvCapabilityImageReadWriteLodAMD: return "SpvCapabilityImageReadWriteLodAMD";
251 case SpvCapabilityInt64ImageEXT: return "SpvCapabilityInt64ImageEXT";
252 case SpvCapabilityShaderClockKHR: return "SpvCapabilityShaderClockKHR";
253 case SpvCapabilitySampleMaskOverrideCoverageNV: return "SpvCapabilitySampleMaskOverrideCoverageNV";
254 case SpvCapabilityGeometryShaderPassthroughNV: return "SpvCapabilityGeometryShaderPassthroughNV";
255 case SpvCapabilityShaderViewportIndexLayerEXT: return "SpvCapabilityShaderViewportIndexLayerEXT";
256 case SpvCapabilityShaderViewportMaskNV: return "SpvCapabilityShaderViewportMaskNV";
257 case SpvCapabilityShaderStereoViewNV: return "SpvCapabilityShaderStereoViewNV";
258 case SpvCapabilityPerViewAttributesNV: return "SpvCapabilityPerViewAttributesNV";
259 case SpvCapabilityFragmentFullyCoveredEXT: return "SpvCapabilityFragmentFullyCoveredEXT";
260 case SpvCapabilityMeshShadingNV: return "SpvCapabilityMeshShadingNV";
261 case SpvCapabilityImageFootprintNV: return "SpvCapabilityImageFootprintNV";
262 case SpvCapabilityFragmentBarycentricNV: return "SpvCapabilityFragmentBarycentricNV";
263 case SpvCapabilityComputeDerivativeGroupQuadsNV: return "SpvCapabilityComputeDerivativeGroupQuadsNV";
264 case SpvCapabilityFragmentDensityEXT: return "SpvCapabilityFragmentDensityEXT";
265 case SpvCapabilityGroupNonUniformPartitionedNV: return "SpvCapabilityGroupNonUniformPartitionedNV";
266 case SpvCapabilityShaderNonUniform: return "SpvCapabilityShaderNonUniform";
267 case SpvCapabilityRuntimeDescriptorArray: return "SpvCapabilityRuntimeDescriptorArray";
268 case SpvCapabilityInputAttachmentArrayDynamicIndexing: return "SpvCapabilityInputAttachmentArrayDynamicIndexing";
269 case SpvCapabilityUniformTexelBufferArrayDynamicIndexing: return "SpvCapabilityUniformTexelBufferArrayDynamicIndexing";
270 case SpvCapabilityStorageTexelBufferArrayDynamicIndexing: return "SpvCapabilityStorageTexelBufferArrayDynamicIndexing";
271 case SpvCapabilityUniformBufferArrayNonUniformIndexing: return "SpvCapabilityUniformBufferArrayNonUniformIndexing";
272 case SpvCapabilitySampledImageArrayNonUniformIndexing: return "SpvCapabilitySampledImageArrayNonUniformIndexing";
273 case SpvCapabilityStorageBufferArrayNonUniformIndexing: return "SpvCapabilityStorageBufferArrayNonUniformIndexing";
274 case SpvCapabilityStorageImageArrayNonUniformIndexing: return "SpvCapabilityStorageImageArrayNonUniformIndexing";
275 case SpvCapabilityInputAttachmentArrayNonUniformIndexing: return "SpvCapabilityInputAttachmentArrayNonUniformIndexing";
276 case SpvCapabilityUniformTexelBufferArrayNonUniformIndexing: return "SpvCapabilityUniformTexelBufferArrayNonUniformIndexing";
277 case SpvCapabilityStorageTexelBufferArrayNonUniformIndexing: return "SpvCapabilityStorageTexelBufferArrayNonUniformIndexing";
278 case SpvCapabilityRayTracingNV: return "SpvCapabilityRayTracingNV";
279 case SpvCapabilityVulkanMemoryModel: return "SpvCapabilityVulkanMemoryModel";
280 case SpvCapabilityVulkanMemoryModelDeviceScope: return "SpvCapabilityVulkanMemoryModelDeviceScope";
281 case SpvCapabilityPhysicalStorageBufferAddresses: return "SpvCapabilityPhysicalStorageBufferAddresses";
282 case SpvCapabilityComputeDerivativeGroupLinearNV: return "SpvCapabilityComputeDerivativeGroupLinearNV";
283 case SpvCapabilityRayTracingProvisionalKHR: return "SpvCapabilityRayTracingProvisionalKHR";
284 case SpvCapabilityCooperativeMatrixNV: return "SpvCapabilityCooperativeMatrixNV";
285 case SpvCapabilityFragmentShaderSampleInterlockEXT: return "SpvCapabilityFragmentShaderSampleInterlockEXT";
286 case SpvCapabilityFragmentShaderShadingRateInterlockEXT: return "SpvCapabilityFragmentShaderShadingRateInterlockEXT";
287 case SpvCapabilityShaderSMBuiltinsNV: return "SpvCapabilityShaderSMBuiltinsNV";
288 case SpvCapabilityFragmentShaderPixelInterlockEXT: return "SpvCapabilityFragmentShaderPixelInterlockEXT";
289 case SpvCapabilityDemoteToHelperInvocationEXT: return "SpvCapabilityDemoteToHelperInvocationEXT";
290 case SpvCapabilitySubgroupShuffleINTEL: return "SpvCapabilitySubgroupShuffleINTEL";
291 case SpvCapabilitySubgroupBufferBlockIOINTEL: return "SpvCapabilitySubgroupBufferBlockIOINTEL";
292 case SpvCapabilitySubgroupImageBlockIOINTEL: return "SpvCapabilitySubgroupImageBlockIOINTEL";
293 case SpvCapabilitySubgroupImageMediaBlockIOINTEL: return "SpvCapabilitySubgroupImageMediaBlockIOINTEL";
294 case SpvCapabilityIntegerFunctions2INTEL: return "SpvCapabilityIntegerFunctions2INTEL";
295 case SpvCapabilityFunctionPointersINTEL: return "SpvCapabilityFunctionPointersINTEL";
296 case SpvCapabilityIndirectReferencesINTEL: return "SpvCapabilityIndirectReferencesINTEL";
297 case SpvCapabilitySubgroupAvcMotionEstimationINTEL: return "SpvCapabilitySubgroupAvcMotionEstimationINTEL";
298 case SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL: return "SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL";
299 case SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL: return "SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL";
300 case SpvCapabilityFPGAMemoryAttributesINTEL: return "SpvCapabilityFPGAMemoryAttributesINTEL";
301 case SpvCapabilityUnstructuredLoopControlsINTEL: return "SpvCapabilityUnstructuredLoopControlsINTEL";
302 case SpvCapabilityFPGALoopControlsINTEL: return "SpvCapabilityFPGALoopControlsINTEL";
303 case SpvCapabilityKernelAttributesINTEL: return "SpvCapabilityKernelAttributesINTEL";
304 case SpvCapabilityFPGAKernelAttributesINTEL: return "SpvCapabilityFPGAKernelAttributesINTEL";
305 case SpvCapabilityBlockingPipesINTEL: return "SpvCapabilityBlockingPipesINTEL";
306 case SpvCapabilityFPGARegINTEL: return "SpvCapabilityFPGARegINTEL";
307 case SpvCapabilityAtomicFloat32AddEXT: return "SpvCapabilityAtomicFloat32AddEXT";
308 case SpvCapabilityAtomicFloat64AddEXT: return "SpvCapabilityAtomicFloat64AddEXT";
309 case SpvCapabilityMax: break; /* silence warnings about unhandled enums. */
310 }
311
312 return "unknown";
313 }
314
315 const char *
spirv_decoration_to_string(SpvDecoration v)316 spirv_decoration_to_string(SpvDecoration v)
317 {
318 switch (v) {
319 case SpvDecorationRelaxedPrecision: return "SpvDecorationRelaxedPrecision";
320 case SpvDecorationSpecId: return "SpvDecorationSpecId";
321 case SpvDecorationBlock: return "SpvDecorationBlock";
322 case SpvDecorationBufferBlock: return "SpvDecorationBufferBlock";
323 case SpvDecorationRowMajor: return "SpvDecorationRowMajor";
324 case SpvDecorationColMajor: return "SpvDecorationColMajor";
325 case SpvDecorationArrayStride: return "SpvDecorationArrayStride";
326 case SpvDecorationMatrixStride: return "SpvDecorationMatrixStride";
327 case SpvDecorationGLSLShared: return "SpvDecorationGLSLShared";
328 case SpvDecorationGLSLPacked: return "SpvDecorationGLSLPacked";
329 case SpvDecorationCPacked: return "SpvDecorationCPacked";
330 case SpvDecorationBuiltIn: return "SpvDecorationBuiltIn";
331 case SpvDecorationNoPerspective: return "SpvDecorationNoPerspective";
332 case SpvDecorationFlat: return "SpvDecorationFlat";
333 case SpvDecorationPatch: return "SpvDecorationPatch";
334 case SpvDecorationCentroid: return "SpvDecorationCentroid";
335 case SpvDecorationSample: return "SpvDecorationSample";
336 case SpvDecorationInvariant: return "SpvDecorationInvariant";
337 case SpvDecorationRestrict: return "SpvDecorationRestrict";
338 case SpvDecorationAliased: return "SpvDecorationAliased";
339 case SpvDecorationVolatile: return "SpvDecorationVolatile";
340 case SpvDecorationConstant: return "SpvDecorationConstant";
341 case SpvDecorationCoherent: return "SpvDecorationCoherent";
342 case SpvDecorationNonWritable: return "SpvDecorationNonWritable";
343 case SpvDecorationNonReadable: return "SpvDecorationNonReadable";
344 case SpvDecorationUniform: return "SpvDecorationUniform";
345 case SpvDecorationUniformId: return "SpvDecorationUniformId";
346 case SpvDecorationSaturatedConversion: return "SpvDecorationSaturatedConversion";
347 case SpvDecorationStream: return "SpvDecorationStream";
348 case SpvDecorationLocation: return "SpvDecorationLocation";
349 case SpvDecorationComponent: return "SpvDecorationComponent";
350 case SpvDecorationIndex: return "SpvDecorationIndex";
351 case SpvDecorationBinding: return "SpvDecorationBinding";
352 case SpvDecorationDescriptorSet: return "SpvDecorationDescriptorSet";
353 case SpvDecorationOffset: return "SpvDecorationOffset";
354 case SpvDecorationXfbBuffer: return "SpvDecorationXfbBuffer";
355 case SpvDecorationXfbStride: return "SpvDecorationXfbStride";
356 case SpvDecorationFuncParamAttr: return "SpvDecorationFuncParamAttr";
357 case SpvDecorationFPRoundingMode: return "SpvDecorationFPRoundingMode";
358 case SpvDecorationFPFastMathMode: return "SpvDecorationFPFastMathMode";
359 case SpvDecorationLinkageAttributes: return "SpvDecorationLinkageAttributes";
360 case SpvDecorationNoContraction: return "SpvDecorationNoContraction";
361 case SpvDecorationInputAttachmentIndex: return "SpvDecorationInputAttachmentIndex";
362 case SpvDecorationAlignment: return "SpvDecorationAlignment";
363 case SpvDecorationMaxByteOffset: return "SpvDecorationMaxByteOffset";
364 case SpvDecorationAlignmentId: return "SpvDecorationAlignmentId";
365 case SpvDecorationMaxByteOffsetId: return "SpvDecorationMaxByteOffsetId";
366 case SpvDecorationNoSignedWrap: return "SpvDecorationNoSignedWrap";
367 case SpvDecorationNoUnsignedWrap: return "SpvDecorationNoUnsignedWrap";
368 case SpvDecorationExplicitInterpAMD: return "SpvDecorationExplicitInterpAMD";
369 case SpvDecorationOverrideCoverageNV: return "SpvDecorationOverrideCoverageNV";
370 case SpvDecorationPassthroughNV: return "SpvDecorationPassthroughNV";
371 case SpvDecorationViewportRelativeNV: return "SpvDecorationViewportRelativeNV";
372 case SpvDecorationSecondaryViewportRelativeNV: return "SpvDecorationSecondaryViewportRelativeNV";
373 case SpvDecorationPerPrimitiveNV: return "SpvDecorationPerPrimitiveNV";
374 case SpvDecorationPerViewNV: return "SpvDecorationPerViewNV";
375 case SpvDecorationPerTaskNV: return "SpvDecorationPerTaskNV";
376 case SpvDecorationPerVertexNV: return "SpvDecorationPerVertexNV";
377 case SpvDecorationNonUniform: return "SpvDecorationNonUniform";
378 case SpvDecorationRestrictPointer: return "SpvDecorationRestrictPointer";
379 case SpvDecorationAliasedPointer: return "SpvDecorationAliasedPointer";
380 case SpvDecorationReferencedIndirectlyINTEL: return "SpvDecorationReferencedIndirectlyINTEL";
381 case SpvDecorationCounterBuffer: return "SpvDecorationCounterBuffer";
382 case SpvDecorationUserSemantic: return "SpvDecorationUserSemantic";
383 case SpvDecorationUserTypeGOOGLE: return "SpvDecorationUserTypeGOOGLE";
384 case SpvDecorationRegisterINTEL: return "SpvDecorationRegisterINTEL";
385 case SpvDecorationMemoryINTEL: return "SpvDecorationMemoryINTEL";
386 case SpvDecorationNumbanksINTEL: return "SpvDecorationNumbanksINTEL";
387 case SpvDecorationBankwidthINTEL: return "SpvDecorationBankwidthINTEL";
388 case SpvDecorationMaxPrivateCopiesINTEL: return "SpvDecorationMaxPrivateCopiesINTEL";
389 case SpvDecorationSinglepumpINTEL: return "SpvDecorationSinglepumpINTEL";
390 case SpvDecorationDoublepumpINTEL: return "SpvDecorationDoublepumpINTEL";
391 case SpvDecorationMaxReplicatesINTEL: return "SpvDecorationMaxReplicatesINTEL";
392 case SpvDecorationSimpleDualPortINTEL: return "SpvDecorationSimpleDualPortINTEL";
393 case SpvDecorationMergeINTEL: return "SpvDecorationMergeINTEL";
394 case SpvDecorationBankBitsINTEL: return "SpvDecorationBankBitsINTEL";
395 case SpvDecorationForcePow2DepthINTEL: return "SpvDecorationForcePow2DepthINTEL";
396 case SpvDecorationMax: break; /* silence warnings about unhandled enums. */
397 }
398
399 return "unknown";
400 }
401
402 const char *
spirv_dim_to_string(SpvDim v)403 spirv_dim_to_string(SpvDim v)
404 {
405 switch (v) {
406 case SpvDim1D: return "SpvDim1D";
407 case SpvDim2D: return "SpvDim2D";
408 case SpvDim3D: return "SpvDim3D";
409 case SpvDimCube: return "SpvDimCube";
410 case SpvDimRect: return "SpvDimRect";
411 case SpvDimBuffer: return "SpvDimBuffer";
412 case SpvDimSubpassData: return "SpvDimSubpassData";
413 case SpvDimMax: break; /* silence warnings about unhandled enums. */
414 }
415
416 return "unknown";
417 }
418
419 const char *
spirv_executionmode_to_string(SpvExecutionMode v)420 spirv_executionmode_to_string(SpvExecutionMode v)
421 {
422 switch (v) {
423 case SpvExecutionModeInvocations: return "SpvExecutionModeInvocations";
424 case SpvExecutionModeSpacingEqual: return "SpvExecutionModeSpacingEqual";
425 case SpvExecutionModeSpacingFractionalEven: return "SpvExecutionModeSpacingFractionalEven";
426 case SpvExecutionModeSpacingFractionalOdd: return "SpvExecutionModeSpacingFractionalOdd";
427 case SpvExecutionModeVertexOrderCw: return "SpvExecutionModeVertexOrderCw";
428 case SpvExecutionModeVertexOrderCcw: return "SpvExecutionModeVertexOrderCcw";
429 case SpvExecutionModePixelCenterInteger: return "SpvExecutionModePixelCenterInteger";
430 case SpvExecutionModeOriginUpperLeft: return "SpvExecutionModeOriginUpperLeft";
431 case SpvExecutionModeOriginLowerLeft: return "SpvExecutionModeOriginLowerLeft";
432 case SpvExecutionModeEarlyFragmentTests: return "SpvExecutionModeEarlyFragmentTests";
433 case SpvExecutionModePointMode: return "SpvExecutionModePointMode";
434 case SpvExecutionModeXfb: return "SpvExecutionModeXfb";
435 case SpvExecutionModeDepthReplacing: return "SpvExecutionModeDepthReplacing";
436 case SpvExecutionModeDepthGreater: return "SpvExecutionModeDepthGreater";
437 case SpvExecutionModeDepthLess: return "SpvExecutionModeDepthLess";
438 case SpvExecutionModeDepthUnchanged: return "SpvExecutionModeDepthUnchanged";
439 case SpvExecutionModeLocalSize: return "SpvExecutionModeLocalSize";
440 case SpvExecutionModeLocalSizeHint: return "SpvExecutionModeLocalSizeHint";
441 case SpvExecutionModeInputPoints: return "SpvExecutionModeInputPoints";
442 case SpvExecutionModeInputLines: return "SpvExecutionModeInputLines";
443 case SpvExecutionModeInputLinesAdjacency: return "SpvExecutionModeInputLinesAdjacency";
444 case SpvExecutionModeTriangles: return "SpvExecutionModeTriangles";
445 case SpvExecutionModeInputTrianglesAdjacency: return "SpvExecutionModeInputTrianglesAdjacency";
446 case SpvExecutionModeQuads: return "SpvExecutionModeQuads";
447 case SpvExecutionModeIsolines: return "SpvExecutionModeIsolines";
448 case SpvExecutionModeOutputVertices: return "SpvExecutionModeOutputVertices";
449 case SpvExecutionModeOutputPoints: return "SpvExecutionModeOutputPoints";
450 case SpvExecutionModeOutputLineStrip: return "SpvExecutionModeOutputLineStrip";
451 case SpvExecutionModeOutputTriangleStrip: return "SpvExecutionModeOutputTriangleStrip";
452 case SpvExecutionModeVecTypeHint: return "SpvExecutionModeVecTypeHint";
453 case SpvExecutionModeContractionOff: return "SpvExecutionModeContractionOff";
454 case SpvExecutionModeInitializer: return "SpvExecutionModeInitializer";
455 case SpvExecutionModeFinalizer: return "SpvExecutionModeFinalizer";
456 case SpvExecutionModeSubgroupSize: return "SpvExecutionModeSubgroupSize";
457 case SpvExecutionModeSubgroupsPerWorkgroup: return "SpvExecutionModeSubgroupsPerWorkgroup";
458 case SpvExecutionModeSubgroupsPerWorkgroupId: return "SpvExecutionModeSubgroupsPerWorkgroupId";
459 case SpvExecutionModeLocalSizeId: return "SpvExecutionModeLocalSizeId";
460 case SpvExecutionModeLocalSizeHintId: return "SpvExecutionModeLocalSizeHintId";
461 case SpvExecutionModePostDepthCoverage: return "SpvExecutionModePostDepthCoverage";
462 case SpvExecutionModeDenormPreserve: return "SpvExecutionModeDenormPreserve";
463 case SpvExecutionModeDenormFlushToZero: return "SpvExecutionModeDenormFlushToZero";
464 case SpvExecutionModeSignedZeroInfNanPreserve: return "SpvExecutionModeSignedZeroInfNanPreserve";
465 case SpvExecutionModeRoundingModeRTE: return "SpvExecutionModeRoundingModeRTE";
466 case SpvExecutionModeRoundingModeRTZ: return "SpvExecutionModeRoundingModeRTZ";
467 case SpvExecutionModeStencilRefReplacingEXT: return "SpvExecutionModeStencilRefReplacingEXT";
468 case SpvExecutionModeOutputLinesNV: return "SpvExecutionModeOutputLinesNV";
469 case SpvExecutionModeOutputPrimitivesNV: return "SpvExecutionModeOutputPrimitivesNV";
470 case SpvExecutionModeDerivativeGroupQuadsNV: return "SpvExecutionModeDerivativeGroupQuadsNV";
471 case SpvExecutionModeDerivativeGroupLinearNV: return "SpvExecutionModeDerivativeGroupLinearNV";
472 case SpvExecutionModeOutputTrianglesNV: return "SpvExecutionModeOutputTrianglesNV";
473 case SpvExecutionModePixelInterlockOrderedEXT: return "SpvExecutionModePixelInterlockOrderedEXT";
474 case SpvExecutionModePixelInterlockUnorderedEXT: return "SpvExecutionModePixelInterlockUnorderedEXT";
475 case SpvExecutionModeSampleInterlockOrderedEXT: return "SpvExecutionModeSampleInterlockOrderedEXT";
476 case SpvExecutionModeSampleInterlockUnorderedEXT: return "SpvExecutionModeSampleInterlockUnorderedEXT";
477 case SpvExecutionModeShadingRateInterlockOrderedEXT: return "SpvExecutionModeShadingRateInterlockOrderedEXT";
478 case SpvExecutionModeShadingRateInterlockUnorderedEXT: return "SpvExecutionModeShadingRateInterlockUnorderedEXT";
479 case SpvExecutionModeMaxWorkgroupSizeINTEL: return "SpvExecutionModeMaxWorkgroupSizeINTEL";
480 case SpvExecutionModeMaxWorkDimINTEL: return "SpvExecutionModeMaxWorkDimINTEL";
481 case SpvExecutionModeNoGlobalOffsetINTEL: return "SpvExecutionModeNoGlobalOffsetINTEL";
482 case SpvExecutionModeNumSIMDWorkitemsINTEL: return "SpvExecutionModeNumSIMDWorkitemsINTEL";
483 case SpvExecutionModeMax: break; /* silence warnings about unhandled enums. */
484 }
485
486 return "unknown";
487 }
488
489 const char *
spirv_executionmodel_to_string(SpvExecutionModel v)490 spirv_executionmodel_to_string(SpvExecutionModel v)
491 {
492 switch (v) {
493 case SpvExecutionModelVertex: return "SpvExecutionModelVertex";
494 case SpvExecutionModelTessellationControl: return "SpvExecutionModelTessellationControl";
495 case SpvExecutionModelTessellationEvaluation: return "SpvExecutionModelTessellationEvaluation";
496 case SpvExecutionModelGeometry: return "SpvExecutionModelGeometry";
497 case SpvExecutionModelFragment: return "SpvExecutionModelFragment";
498 case SpvExecutionModelGLCompute: return "SpvExecutionModelGLCompute";
499 case SpvExecutionModelKernel: return "SpvExecutionModelKernel";
500 case SpvExecutionModelTaskNV: return "SpvExecutionModelTaskNV";
501 case SpvExecutionModelMeshNV: return "SpvExecutionModelMeshNV";
502 case SpvExecutionModelRayGenerationNV: return "SpvExecutionModelRayGenerationNV";
503 case SpvExecutionModelIntersectionNV: return "SpvExecutionModelIntersectionNV";
504 case SpvExecutionModelAnyHitNV: return "SpvExecutionModelAnyHitNV";
505 case SpvExecutionModelClosestHitNV: return "SpvExecutionModelClosestHitNV";
506 case SpvExecutionModelMissNV: return "SpvExecutionModelMissNV";
507 case SpvExecutionModelCallableNV: return "SpvExecutionModelCallableNV";
508 case SpvExecutionModelMax: break; /* silence warnings about unhandled enums. */
509 }
510
511 return "unknown";
512 }
513
514 const char *
spirv_imageformat_to_string(SpvImageFormat v)515 spirv_imageformat_to_string(SpvImageFormat v)
516 {
517 switch (v) {
518 case SpvImageFormatUnknown: return "SpvImageFormatUnknown";
519 case SpvImageFormatRgba32f: return "SpvImageFormatRgba32f";
520 case SpvImageFormatRgba16f: return "SpvImageFormatRgba16f";
521 case SpvImageFormatR32f: return "SpvImageFormatR32f";
522 case SpvImageFormatRgba8: return "SpvImageFormatRgba8";
523 case SpvImageFormatRgba8Snorm: return "SpvImageFormatRgba8Snorm";
524 case SpvImageFormatRg32f: return "SpvImageFormatRg32f";
525 case SpvImageFormatRg16f: return "SpvImageFormatRg16f";
526 case SpvImageFormatR11fG11fB10f: return "SpvImageFormatR11fG11fB10f";
527 case SpvImageFormatR16f: return "SpvImageFormatR16f";
528 case SpvImageFormatRgba16: return "SpvImageFormatRgba16";
529 case SpvImageFormatRgb10A2: return "SpvImageFormatRgb10A2";
530 case SpvImageFormatRg16: return "SpvImageFormatRg16";
531 case SpvImageFormatRg8: return "SpvImageFormatRg8";
532 case SpvImageFormatR16: return "SpvImageFormatR16";
533 case SpvImageFormatR8: return "SpvImageFormatR8";
534 case SpvImageFormatRgba16Snorm: return "SpvImageFormatRgba16Snorm";
535 case SpvImageFormatRg16Snorm: return "SpvImageFormatRg16Snorm";
536 case SpvImageFormatRg8Snorm: return "SpvImageFormatRg8Snorm";
537 case SpvImageFormatR16Snorm: return "SpvImageFormatR16Snorm";
538 case SpvImageFormatR8Snorm: return "SpvImageFormatR8Snorm";
539 case SpvImageFormatRgba32i: return "SpvImageFormatRgba32i";
540 case SpvImageFormatRgba16i: return "SpvImageFormatRgba16i";
541 case SpvImageFormatRgba8i: return "SpvImageFormatRgba8i";
542 case SpvImageFormatR32i: return "SpvImageFormatR32i";
543 case SpvImageFormatRg32i: return "SpvImageFormatRg32i";
544 case SpvImageFormatRg16i: return "SpvImageFormatRg16i";
545 case SpvImageFormatRg8i: return "SpvImageFormatRg8i";
546 case SpvImageFormatR16i: return "SpvImageFormatR16i";
547 case SpvImageFormatR8i: return "SpvImageFormatR8i";
548 case SpvImageFormatRgba32ui: return "SpvImageFormatRgba32ui";
549 case SpvImageFormatRgba16ui: return "SpvImageFormatRgba16ui";
550 case SpvImageFormatRgba8ui: return "SpvImageFormatRgba8ui";
551 case SpvImageFormatR32ui: return "SpvImageFormatR32ui";
552 case SpvImageFormatRgb10a2ui: return "SpvImageFormatRgb10a2ui";
553 case SpvImageFormatRg32ui: return "SpvImageFormatRg32ui";
554 case SpvImageFormatRg16ui: return "SpvImageFormatRg16ui";
555 case SpvImageFormatRg8ui: return "SpvImageFormatRg8ui";
556 case SpvImageFormatR16ui: return "SpvImageFormatR16ui";
557 case SpvImageFormatR8ui: return "SpvImageFormatR8ui";
558 case SpvImageFormatR64ui: return "SpvImageFormatR64ui";
559 case SpvImageFormatR64i: return "SpvImageFormatR64i";
560 case SpvImageFormatMax: break; /* silence warnings about unhandled enums. */
561 }
562
563 return "unknown";
564 }
565
566 const char *
spirv_memorymodel_to_string(SpvMemoryModel v)567 spirv_memorymodel_to_string(SpvMemoryModel v)
568 {
569 switch (v) {
570 case SpvMemoryModelSimple: return "SpvMemoryModelSimple";
571 case SpvMemoryModelGLSL450: return "SpvMemoryModelGLSL450";
572 case SpvMemoryModelOpenCL: return "SpvMemoryModelOpenCL";
573 case SpvMemoryModelVulkan: return "SpvMemoryModelVulkan";
574 case SpvMemoryModelMax: break; /* silence warnings about unhandled enums. */
575 }
576
577 return "unknown";
578 }
579
580 const char *
spirv_storageclass_to_string(SpvStorageClass v)581 spirv_storageclass_to_string(SpvStorageClass v)
582 {
583 switch (v) {
584 case SpvStorageClassUniformConstant: return "SpvStorageClassUniformConstant";
585 case SpvStorageClassInput: return "SpvStorageClassInput";
586 case SpvStorageClassUniform: return "SpvStorageClassUniform";
587 case SpvStorageClassOutput: return "SpvStorageClassOutput";
588 case SpvStorageClassWorkgroup: return "SpvStorageClassWorkgroup";
589 case SpvStorageClassCrossWorkgroup: return "SpvStorageClassCrossWorkgroup";
590 case SpvStorageClassPrivate: return "SpvStorageClassPrivate";
591 case SpvStorageClassFunction: return "SpvStorageClassFunction";
592 case SpvStorageClassGeneric: return "SpvStorageClassGeneric";
593 case SpvStorageClassPushConstant: return "SpvStorageClassPushConstant";
594 case SpvStorageClassAtomicCounter: return "SpvStorageClassAtomicCounter";
595 case SpvStorageClassImage: return "SpvStorageClassImage";
596 case SpvStorageClassStorageBuffer: return "SpvStorageClassStorageBuffer";
597 case SpvStorageClassCallableDataNV: return "SpvStorageClassCallableDataNV";
598 case SpvStorageClassIncomingCallableDataNV: return "SpvStorageClassIncomingCallableDataNV";
599 case SpvStorageClassRayPayloadNV: return "SpvStorageClassRayPayloadNV";
600 case SpvStorageClassHitAttributeNV: return "SpvStorageClassHitAttributeNV";
601 case SpvStorageClassIncomingRayPayloadNV: return "SpvStorageClassIncomingRayPayloadNV";
602 case SpvStorageClassShaderRecordBufferNV: return "SpvStorageClassShaderRecordBufferNV";
603 case SpvStorageClassPhysicalStorageBuffer: return "SpvStorageClassPhysicalStorageBuffer";
604 case SpvStorageClassCodeSectionINTEL: return "SpvStorageClassCodeSectionINTEL";
605 case SpvStorageClassMax: break; /* silence warnings about unhandled enums. */
606 }
607
608 return "unknown";
609 }
610
611 const char *
spirv_imageoperands_to_string(SpvImageOperandsMask v)612 spirv_imageoperands_to_string(SpvImageOperandsMask v)
613 {
614 switch (v) {
615 case SpvImageOperandsMaskNone: return "SpvImageOperandsNone";
616 case SpvImageOperandsBiasMask: return "SpvImageOperandsBias";
617 case SpvImageOperandsLodMask: return "SpvImageOperandsLod";
618 case SpvImageOperandsGradMask: return "SpvImageOperandsGrad";
619 case SpvImageOperandsConstOffsetMask: return "SpvImageOperandsConstOffset";
620 case SpvImageOperandsOffsetMask: return "SpvImageOperandsOffset";
621 case SpvImageOperandsConstOffsetsMask: return "SpvImageOperandsConstOffsets";
622 case SpvImageOperandsSampleMask: return "SpvImageOperandsSample";
623 case SpvImageOperandsMinLodMask: return "SpvImageOperandsMinLod";
624 case SpvImageOperandsMakeTexelAvailableMask: return "SpvImageOperandsMakeTexelAvailable";
625 case SpvImageOperandsMakeTexelVisibleMask: return "SpvImageOperandsMakeTexelVisible";
626 case SpvImageOperandsNonPrivateTexelMask: return "SpvImageOperandsNonPrivateTexel";
627 case SpvImageOperandsVolatileTexelMask: return "SpvImageOperandsVolatileTexel";
628 case SpvImageOperandsSignExtendMask: return "SpvImageOperandsSignExtend";
629 case SpvImageOperandsZeroExtendMask: return "SpvImageOperandsZeroExtend";
630 }
631
632 return "unknown";
633 }
634
635 const char *
spirv_fproundingmode_to_string(SpvFPRoundingMode v)636 spirv_fproundingmode_to_string(SpvFPRoundingMode v)
637 {
638 switch (v) {
639 case SpvFPRoundingModeRTE: return "SpvFPRoundingModeRTE";
640 case SpvFPRoundingModeRTZ: return "SpvFPRoundingModeRTZ";
641 case SpvFPRoundingModeRTP: return "SpvFPRoundingModeRTP";
642 case SpvFPRoundingModeRTN: return "SpvFPRoundingModeRTN";
643 case SpvFPRoundingModeMax: break; /* silence warnings about unhandled enums. */
644 }
645
646 return "unknown";
647 }
648
649 const char *
spirv_op_to_string(SpvOp v)650 spirv_op_to_string(SpvOp v)
651 {
652 switch (v) {
653 case SpvOpNop: return "SpvOpNop";
654 case SpvOpUndef: return "SpvOpUndef";
655 case SpvOpSourceContinued: return "SpvOpSourceContinued";
656 case SpvOpSource: return "SpvOpSource";
657 case SpvOpSourceExtension: return "SpvOpSourceExtension";
658 case SpvOpName: return "SpvOpName";
659 case SpvOpMemberName: return "SpvOpMemberName";
660 case SpvOpString: return "SpvOpString";
661 case SpvOpLine: return "SpvOpLine";
662 case SpvOpExtension: return "SpvOpExtension";
663 case SpvOpExtInstImport: return "SpvOpExtInstImport";
664 case SpvOpExtInst: return "SpvOpExtInst";
665 case SpvOpMemoryModel: return "SpvOpMemoryModel";
666 case SpvOpEntryPoint: return "SpvOpEntryPoint";
667 case SpvOpExecutionMode: return "SpvOpExecutionMode";
668 case SpvOpCapability: return "SpvOpCapability";
669 case SpvOpTypeVoid: return "SpvOpTypeVoid";
670 case SpvOpTypeBool: return "SpvOpTypeBool";
671 case SpvOpTypeInt: return "SpvOpTypeInt";
672 case SpvOpTypeFloat: return "SpvOpTypeFloat";
673 case SpvOpTypeVector: return "SpvOpTypeVector";
674 case SpvOpTypeMatrix: return "SpvOpTypeMatrix";
675 case SpvOpTypeImage: return "SpvOpTypeImage";
676 case SpvOpTypeSampler: return "SpvOpTypeSampler";
677 case SpvOpTypeSampledImage: return "SpvOpTypeSampledImage";
678 case SpvOpTypeArray: return "SpvOpTypeArray";
679 case SpvOpTypeRuntimeArray: return "SpvOpTypeRuntimeArray";
680 case SpvOpTypeStruct: return "SpvOpTypeStruct";
681 case SpvOpTypeOpaque: return "SpvOpTypeOpaque";
682 case SpvOpTypePointer: return "SpvOpTypePointer";
683 case SpvOpTypeFunction: return "SpvOpTypeFunction";
684 case SpvOpTypeEvent: return "SpvOpTypeEvent";
685 case SpvOpTypeDeviceEvent: return "SpvOpTypeDeviceEvent";
686 case SpvOpTypeReserveId: return "SpvOpTypeReserveId";
687 case SpvOpTypeQueue: return "SpvOpTypeQueue";
688 case SpvOpTypePipe: return "SpvOpTypePipe";
689 case SpvOpTypeForwardPointer: return "SpvOpTypeForwardPointer";
690 case SpvOpConstantTrue: return "SpvOpConstantTrue";
691 case SpvOpConstantFalse: return "SpvOpConstantFalse";
692 case SpvOpConstant: return "SpvOpConstant";
693 case SpvOpConstantComposite: return "SpvOpConstantComposite";
694 case SpvOpConstantSampler: return "SpvOpConstantSampler";
695 case SpvOpConstantNull: return "SpvOpConstantNull";
696 case SpvOpSpecConstantTrue: return "SpvOpSpecConstantTrue";
697 case SpvOpSpecConstantFalse: return "SpvOpSpecConstantFalse";
698 case SpvOpSpecConstant: return "SpvOpSpecConstant";
699 case SpvOpSpecConstantComposite: return "SpvOpSpecConstantComposite";
700 case SpvOpSpecConstantOp: return "SpvOpSpecConstantOp";
701 case SpvOpFunction: return "SpvOpFunction";
702 case SpvOpFunctionParameter: return "SpvOpFunctionParameter";
703 case SpvOpFunctionEnd: return "SpvOpFunctionEnd";
704 case SpvOpFunctionCall: return "SpvOpFunctionCall";
705 case SpvOpVariable: return "SpvOpVariable";
706 case SpvOpImageTexelPointer: return "SpvOpImageTexelPointer";
707 case SpvOpLoad: return "SpvOpLoad";
708 case SpvOpStore: return "SpvOpStore";
709 case SpvOpCopyMemory: return "SpvOpCopyMemory";
710 case SpvOpCopyMemorySized: return "SpvOpCopyMemorySized";
711 case SpvOpAccessChain: return "SpvOpAccessChain";
712 case SpvOpInBoundsAccessChain: return "SpvOpInBoundsAccessChain";
713 case SpvOpPtrAccessChain: return "SpvOpPtrAccessChain";
714 case SpvOpArrayLength: return "SpvOpArrayLength";
715 case SpvOpGenericPtrMemSemantics: return "SpvOpGenericPtrMemSemantics";
716 case SpvOpInBoundsPtrAccessChain: return "SpvOpInBoundsPtrAccessChain";
717 case SpvOpDecorate: return "SpvOpDecorate";
718 case SpvOpMemberDecorate: return "SpvOpMemberDecorate";
719 case SpvOpDecorationGroup: return "SpvOpDecorationGroup";
720 case SpvOpGroupDecorate: return "SpvOpGroupDecorate";
721 case SpvOpGroupMemberDecorate: return "SpvOpGroupMemberDecorate";
722 case SpvOpVectorExtractDynamic: return "SpvOpVectorExtractDynamic";
723 case SpvOpVectorInsertDynamic: return "SpvOpVectorInsertDynamic";
724 case SpvOpVectorShuffle: return "SpvOpVectorShuffle";
725 case SpvOpCompositeConstruct: return "SpvOpCompositeConstruct";
726 case SpvOpCompositeExtract: return "SpvOpCompositeExtract";
727 case SpvOpCompositeInsert: return "SpvOpCompositeInsert";
728 case SpvOpCopyObject: return "SpvOpCopyObject";
729 case SpvOpTranspose: return "SpvOpTranspose";
730 case SpvOpSampledImage: return "SpvOpSampledImage";
731 case SpvOpImageSampleImplicitLod: return "SpvOpImageSampleImplicitLod";
732 case SpvOpImageSampleExplicitLod: return "SpvOpImageSampleExplicitLod";
733 case SpvOpImageSampleDrefImplicitLod: return "SpvOpImageSampleDrefImplicitLod";
734 case SpvOpImageSampleDrefExplicitLod: return "SpvOpImageSampleDrefExplicitLod";
735 case SpvOpImageSampleProjImplicitLod: return "SpvOpImageSampleProjImplicitLod";
736 case SpvOpImageSampleProjExplicitLod: return "SpvOpImageSampleProjExplicitLod";
737 case SpvOpImageSampleProjDrefImplicitLod: return "SpvOpImageSampleProjDrefImplicitLod";
738 case SpvOpImageSampleProjDrefExplicitLod: return "SpvOpImageSampleProjDrefExplicitLod";
739 case SpvOpImageFetch: return "SpvOpImageFetch";
740 case SpvOpImageGather: return "SpvOpImageGather";
741 case SpvOpImageDrefGather: return "SpvOpImageDrefGather";
742 case SpvOpImageRead: return "SpvOpImageRead";
743 case SpvOpImageWrite: return "SpvOpImageWrite";
744 case SpvOpImage: return "SpvOpImage";
745 case SpvOpImageQueryFormat: return "SpvOpImageQueryFormat";
746 case SpvOpImageQueryOrder: return "SpvOpImageQueryOrder";
747 case SpvOpImageQuerySizeLod: return "SpvOpImageQuerySizeLod";
748 case SpvOpImageQuerySize: return "SpvOpImageQuerySize";
749 case SpvOpImageQueryLod: return "SpvOpImageQueryLod";
750 case SpvOpImageQueryLevels: return "SpvOpImageQueryLevels";
751 case SpvOpImageQuerySamples: return "SpvOpImageQuerySamples";
752 case SpvOpConvertFToU: return "SpvOpConvertFToU";
753 case SpvOpConvertFToS: return "SpvOpConvertFToS";
754 case SpvOpConvertSToF: return "SpvOpConvertSToF";
755 case SpvOpConvertUToF: return "SpvOpConvertUToF";
756 case SpvOpUConvert: return "SpvOpUConvert";
757 case SpvOpSConvert: return "SpvOpSConvert";
758 case SpvOpFConvert: return "SpvOpFConvert";
759 case SpvOpQuantizeToF16: return "SpvOpQuantizeToF16";
760 case SpvOpConvertPtrToU: return "SpvOpConvertPtrToU";
761 case SpvOpSatConvertSToU: return "SpvOpSatConvertSToU";
762 case SpvOpSatConvertUToS: return "SpvOpSatConvertUToS";
763 case SpvOpConvertUToPtr: return "SpvOpConvertUToPtr";
764 case SpvOpPtrCastToGeneric: return "SpvOpPtrCastToGeneric";
765 case SpvOpGenericCastToPtr: return "SpvOpGenericCastToPtr";
766 case SpvOpGenericCastToPtrExplicit: return "SpvOpGenericCastToPtrExplicit";
767 case SpvOpBitcast: return "SpvOpBitcast";
768 case SpvOpSNegate: return "SpvOpSNegate";
769 case SpvOpFNegate: return "SpvOpFNegate";
770 case SpvOpIAdd: return "SpvOpIAdd";
771 case SpvOpFAdd: return "SpvOpFAdd";
772 case SpvOpISub: return "SpvOpISub";
773 case SpvOpFSub: return "SpvOpFSub";
774 case SpvOpIMul: return "SpvOpIMul";
775 case SpvOpFMul: return "SpvOpFMul";
776 case SpvOpUDiv: return "SpvOpUDiv";
777 case SpvOpSDiv: return "SpvOpSDiv";
778 case SpvOpFDiv: return "SpvOpFDiv";
779 case SpvOpUMod: return "SpvOpUMod";
780 case SpvOpSRem: return "SpvOpSRem";
781 case SpvOpSMod: return "SpvOpSMod";
782 case SpvOpFRem: return "SpvOpFRem";
783 case SpvOpFMod: return "SpvOpFMod";
784 case SpvOpVectorTimesScalar: return "SpvOpVectorTimesScalar";
785 case SpvOpMatrixTimesScalar: return "SpvOpMatrixTimesScalar";
786 case SpvOpVectorTimesMatrix: return "SpvOpVectorTimesMatrix";
787 case SpvOpMatrixTimesVector: return "SpvOpMatrixTimesVector";
788 case SpvOpMatrixTimesMatrix: return "SpvOpMatrixTimesMatrix";
789 case SpvOpOuterProduct: return "SpvOpOuterProduct";
790 case SpvOpDot: return "SpvOpDot";
791 case SpvOpIAddCarry: return "SpvOpIAddCarry";
792 case SpvOpISubBorrow: return "SpvOpISubBorrow";
793 case SpvOpUMulExtended: return "SpvOpUMulExtended";
794 case SpvOpSMulExtended: return "SpvOpSMulExtended";
795 case SpvOpAny: return "SpvOpAny";
796 case SpvOpAll: return "SpvOpAll";
797 case SpvOpIsNan: return "SpvOpIsNan";
798 case SpvOpIsInf: return "SpvOpIsInf";
799 case SpvOpIsFinite: return "SpvOpIsFinite";
800 case SpvOpIsNormal: return "SpvOpIsNormal";
801 case SpvOpSignBitSet: return "SpvOpSignBitSet";
802 case SpvOpLessOrGreater: return "SpvOpLessOrGreater";
803 case SpvOpOrdered: return "SpvOpOrdered";
804 case SpvOpUnordered: return "SpvOpUnordered";
805 case SpvOpLogicalEqual: return "SpvOpLogicalEqual";
806 case SpvOpLogicalNotEqual: return "SpvOpLogicalNotEqual";
807 case SpvOpLogicalOr: return "SpvOpLogicalOr";
808 case SpvOpLogicalAnd: return "SpvOpLogicalAnd";
809 case SpvOpLogicalNot: return "SpvOpLogicalNot";
810 case SpvOpSelect: return "SpvOpSelect";
811 case SpvOpIEqual: return "SpvOpIEqual";
812 case SpvOpINotEqual: return "SpvOpINotEqual";
813 case SpvOpUGreaterThan: return "SpvOpUGreaterThan";
814 case SpvOpSGreaterThan: return "SpvOpSGreaterThan";
815 case SpvOpUGreaterThanEqual: return "SpvOpUGreaterThanEqual";
816 case SpvOpSGreaterThanEqual: return "SpvOpSGreaterThanEqual";
817 case SpvOpULessThan: return "SpvOpULessThan";
818 case SpvOpSLessThan: return "SpvOpSLessThan";
819 case SpvOpULessThanEqual: return "SpvOpULessThanEqual";
820 case SpvOpSLessThanEqual: return "SpvOpSLessThanEqual";
821 case SpvOpFOrdEqual: return "SpvOpFOrdEqual";
822 case SpvOpFUnordEqual: return "SpvOpFUnordEqual";
823 case SpvOpFOrdNotEqual: return "SpvOpFOrdNotEqual";
824 case SpvOpFUnordNotEqual: return "SpvOpFUnordNotEqual";
825 case SpvOpFOrdLessThan: return "SpvOpFOrdLessThan";
826 case SpvOpFUnordLessThan: return "SpvOpFUnordLessThan";
827 case SpvOpFOrdGreaterThan: return "SpvOpFOrdGreaterThan";
828 case SpvOpFUnordGreaterThan: return "SpvOpFUnordGreaterThan";
829 case SpvOpFOrdLessThanEqual: return "SpvOpFOrdLessThanEqual";
830 case SpvOpFUnordLessThanEqual: return "SpvOpFUnordLessThanEqual";
831 case SpvOpFOrdGreaterThanEqual: return "SpvOpFOrdGreaterThanEqual";
832 case SpvOpFUnordGreaterThanEqual: return "SpvOpFUnordGreaterThanEqual";
833 case SpvOpShiftRightLogical: return "SpvOpShiftRightLogical";
834 case SpvOpShiftRightArithmetic: return "SpvOpShiftRightArithmetic";
835 case SpvOpShiftLeftLogical: return "SpvOpShiftLeftLogical";
836 case SpvOpBitwiseOr: return "SpvOpBitwiseOr";
837 case SpvOpBitwiseXor: return "SpvOpBitwiseXor";
838 case SpvOpBitwiseAnd: return "SpvOpBitwiseAnd";
839 case SpvOpNot: return "SpvOpNot";
840 case SpvOpBitFieldInsert: return "SpvOpBitFieldInsert";
841 case SpvOpBitFieldSExtract: return "SpvOpBitFieldSExtract";
842 case SpvOpBitFieldUExtract: return "SpvOpBitFieldUExtract";
843 case SpvOpBitReverse: return "SpvOpBitReverse";
844 case SpvOpBitCount: return "SpvOpBitCount";
845 case SpvOpDPdx: return "SpvOpDPdx";
846 case SpvOpDPdy: return "SpvOpDPdy";
847 case SpvOpFwidth: return "SpvOpFwidth";
848 case SpvOpDPdxFine: return "SpvOpDPdxFine";
849 case SpvOpDPdyFine: return "SpvOpDPdyFine";
850 case SpvOpFwidthFine: return "SpvOpFwidthFine";
851 case SpvOpDPdxCoarse: return "SpvOpDPdxCoarse";
852 case SpvOpDPdyCoarse: return "SpvOpDPdyCoarse";
853 case SpvOpFwidthCoarse: return "SpvOpFwidthCoarse";
854 case SpvOpEmitVertex: return "SpvOpEmitVertex";
855 case SpvOpEndPrimitive: return "SpvOpEndPrimitive";
856 case SpvOpEmitStreamVertex: return "SpvOpEmitStreamVertex";
857 case SpvOpEndStreamPrimitive: return "SpvOpEndStreamPrimitive";
858 case SpvOpControlBarrier: return "SpvOpControlBarrier";
859 case SpvOpMemoryBarrier: return "SpvOpMemoryBarrier";
860 case SpvOpAtomicLoad: return "SpvOpAtomicLoad";
861 case SpvOpAtomicStore: return "SpvOpAtomicStore";
862 case SpvOpAtomicExchange: return "SpvOpAtomicExchange";
863 case SpvOpAtomicCompareExchange: return "SpvOpAtomicCompareExchange";
864 case SpvOpAtomicCompareExchangeWeak: return "SpvOpAtomicCompareExchangeWeak";
865 case SpvOpAtomicIIncrement: return "SpvOpAtomicIIncrement";
866 case SpvOpAtomicIDecrement: return "SpvOpAtomicIDecrement";
867 case SpvOpAtomicIAdd: return "SpvOpAtomicIAdd";
868 case SpvOpAtomicISub: return "SpvOpAtomicISub";
869 case SpvOpAtomicSMin: return "SpvOpAtomicSMin";
870 case SpvOpAtomicUMin: return "SpvOpAtomicUMin";
871 case SpvOpAtomicSMax: return "SpvOpAtomicSMax";
872 case SpvOpAtomicUMax: return "SpvOpAtomicUMax";
873 case SpvOpAtomicAnd: return "SpvOpAtomicAnd";
874 case SpvOpAtomicOr: return "SpvOpAtomicOr";
875 case SpvOpAtomicXor: return "SpvOpAtomicXor";
876 case SpvOpPhi: return "SpvOpPhi";
877 case SpvOpLoopMerge: return "SpvOpLoopMerge";
878 case SpvOpSelectionMerge: return "SpvOpSelectionMerge";
879 case SpvOpLabel: return "SpvOpLabel";
880 case SpvOpBranch: return "SpvOpBranch";
881 case SpvOpBranchConditional: return "SpvOpBranchConditional";
882 case SpvOpSwitch: return "SpvOpSwitch";
883 case SpvOpKill: return "SpvOpKill";
884 case SpvOpReturn: return "SpvOpReturn";
885 case SpvOpReturnValue: return "SpvOpReturnValue";
886 case SpvOpUnreachable: return "SpvOpUnreachable";
887 case SpvOpLifetimeStart: return "SpvOpLifetimeStart";
888 case SpvOpLifetimeStop: return "SpvOpLifetimeStop";
889 case SpvOpGroupAsyncCopy: return "SpvOpGroupAsyncCopy";
890 case SpvOpGroupWaitEvents: return "SpvOpGroupWaitEvents";
891 case SpvOpGroupAll: return "SpvOpGroupAll";
892 case SpvOpGroupAny: return "SpvOpGroupAny";
893 case SpvOpGroupBroadcast: return "SpvOpGroupBroadcast";
894 case SpvOpGroupIAdd: return "SpvOpGroupIAdd";
895 case SpvOpGroupFAdd: return "SpvOpGroupFAdd";
896 case SpvOpGroupFMin: return "SpvOpGroupFMin";
897 case SpvOpGroupUMin: return "SpvOpGroupUMin";
898 case SpvOpGroupSMin: return "SpvOpGroupSMin";
899 case SpvOpGroupFMax: return "SpvOpGroupFMax";
900 case SpvOpGroupUMax: return "SpvOpGroupUMax";
901 case SpvOpGroupSMax: return "SpvOpGroupSMax";
902 case SpvOpReadPipe: return "SpvOpReadPipe";
903 case SpvOpWritePipe: return "SpvOpWritePipe";
904 case SpvOpReservedReadPipe: return "SpvOpReservedReadPipe";
905 case SpvOpReservedWritePipe: return "SpvOpReservedWritePipe";
906 case SpvOpReserveReadPipePackets: return "SpvOpReserveReadPipePackets";
907 case SpvOpReserveWritePipePackets: return "SpvOpReserveWritePipePackets";
908 case SpvOpCommitReadPipe: return "SpvOpCommitReadPipe";
909 case SpvOpCommitWritePipe: return "SpvOpCommitWritePipe";
910 case SpvOpIsValidReserveId: return "SpvOpIsValidReserveId";
911 case SpvOpGetNumPipePackets: return "SpvOpGetNumPipePackets";
912 case SpvOpGetMaxPipePackets: return "SpvOpGetMaxPipePackets";
913 case SpvOpGroupReserveReadPipePackets: return "SpvOpGroupReserveReadPipePackets";
914 case SpvOpGroupReserveWritePipePackets: return "SpvOpGroupReserveWritePipePackets";
915 case SpvOpGroupCommitReadPipe: return "SpvOpGroupCommitReadPipe";
916 case SpvOpGroupCommitWritePipe: return "SpvOpGroupCommitWritePipe";
917 case SpvOpEnqueueMarker: return "SpvOpEnqueueMarker";
918 case SpvOpEnqueueKernel: return "SpvOpEnqueueKernel";
919 case SpvOpGetKernelNDrangeSubGroupCount: return "SpvOpGetKernelNDrangeSubGroupCount";
920 case SpvOpGetKernelNDrangeMaxSubGroupSize: return "SpvOpGetKernelNDrangeMaxSubGroupSize";
921 case SpvOpGetKernelWorkGroupSize: return "SpvOpGetKernelWorkGroupSize";
922 case SpvOpGetKernelPreferredWorkGroupSizeMultiple: return "SpvOpGetKernelPreferredWorkGroupSizeMultiple";
923 case SpvOpRetainEvent: return "SpvOpRetainEvent";
924 case SpvOpReleaseEvent: return "SpvOpReleaseEvent";
925 case SpvOpCreateUserEvent: return "SpvOpCreateUserEvent";
926 case SpvOpIsValidEvent: return "SpvOpIsValidEvent";
927 case SpvOpSetUserEventStatus: return "SpvOpSetUserEventStatus";
928 case SpvOpCaptureEventProfilingInfo: return "SpvOpCaptureEventProfilingInfo";
929 case SpvOpGetDefaultQueue: return "SpvOpGetDefaultQueue";
930 case SpvOpBuildNDRange: return "SpvOpBuildNDRange";
931 case SpvOpImageSparseSampleImplicitLod: return "SpvOpImageSparseSampleImplicitLod";
932 case SpvOpImageSparseSampleExplicitLod: return "SpvOpImageSparseSampleExplicitLod";
933 case SpvOpImageSparseSampleDrefImplicitLod: return "SpvOpImageSparseSampleDrefImplicitLod";
934 case SpvOpImageSparseSampleDrefExplicitLod: return "SpvOpImageSparseSampleDrefExplicitLod";
935 case SpvOpImageSparseSampleProjImplicitLod: return "SpvOpImageSparseSampleProjImplicitLod";
936 case SpvOpImageSparseSampleProjExplicitLod: return "SpvOpImageSparseSampleProjExplicitLod";
937 case SpvOpImageSparseSampleProjDrefImplicitLod: return "SpvOpImageSparseSampleProjDrefImplicitLod";
938 case SpvOpImageSparseSampleProjDrefExplicitLod: return "SpvOpImageSparseSampleProjDrefExplicitLod";
939 case SpvOpImageSparseFetch: return "SpvOpImageSparseFetch";
940 case SpvOpImageSparseGather: return "SpvOpImageSparseGather";
941 case SpvOpImageSparseDrefGather: return "SpvOpImageSparseDrefGather";
942 case SpvOpImageSparseTexelsResident: return "SpvOpImageSparseTexelsResident";
943 case SpvOpNoLine: return "SpvOpNoLine";
944 case SpvOpAtomicFlagTestAndSet: return "SpvOpAtomicFlagTestAndSet";
945 case SpvOpAtomicFlagClear: return "SpvOpAtomicFlagClear";
946 case SpvOpImageSparseRead: return "SpvOpImageSparseRead";
947 case SpvOpSizeOf: return "SpvOpSizeOf";
948 case SpvOpTypePipeStorage: return "SpvOpTypePipeStorage";
949 case SpvOpConstantPipeStorage: return "SpvOpConstantPipeStorage";
950 case SpvOpCreatePipeFromPipeStorage: return "SpvOpCreatePipeFromPipeStorage";
951 case SpvOpGetKernelLocalSizeForSubgroupCount: return "SpvOpGetKernelLocalSizeForSubgroupCount";
952 case SpvOpGetKernelMaxNumSubgroups: return "SpvOpGetKernelMaxNumSubgroups";
953 case SpvOpTypeNamedBarrier: return "SpvOpTypeNamedBarrier";
954 case SpvOpNamedBarrierInitialize: return "SpvOpNamedBarrierInitialize";
955 case SpvOpMemoryNamedBarrier: return "SpvOpMemoryNamedBarrier";
956 case SpvOpModuleProcessed: return "SpvOpModuleProcessed";
957 case SpvOpExecutionModeId: return "SpvOpExecutionModeId";
958 case SpvOpDecorateId: return "SpvOpDecorateId";
959 case SpvOpGroupNonUniformElect: return "SpvOpGroupNonUniformElect";
960 case SpvOpGroupNonUniformAll: return "SpvOpGroupNonUniformAll";
961 case SpvOpGroupNonUniformAny: return "SpvOpGroupNonUniformAny";
962 case SpvOpGroupNonUniformAllEqual: return "SpvOpGroupNonUniformAllEqual";
963 case SpvOpGroupNonUniformBroadcast: return "SpvOpGroupNonUniformBroadcast";
964 case SpvOpGroupNonUniformBroadcastFirst: return "SpvOpGroupNonUniformBroadcastFirst";
965 case SpvOpGroupNonUniformBallot: return "SpvOpGroupNonUniformBallot";
966 case SpvOpGroupNonUniformInverseBallot: return "SpvOpGroupNonUniformInverseBallot";
967 case SpvOpGroupNonUniformBallotBitExtract: return "SpvOpGroupNonUniformBallotBitExtract";
968 case SpvOpGroupNonUniformBallotBitCount: return "SpvOpGroupNonUniformBallotBitCount";
969 case SpvOpGroupNonUniformBallotFindLSB: return "SpvOpGroupNonUniformBallotFindLSB";
970 case SpvOpGroupNonUniformBallotFindMSB: return "SpvOpGroupNonUniformBallotFindMSB";
971 case SpvOpGroupNonUniformShuffle: return "SpvOpGroupNonUniformShuffle";
972 case SpvOpGroupNonUniformShuffleXor: return "SpvOpGroupNonUniformShuffleXor";
973 case SpvOpGroupNonUniformShuffleUp: return "SpvOpGroupNonUniformShuffleUp";
974 case SpvOpGroupNonUniformShuffleDown: return "SpvOpGroupNonUniformShuffleDown";
975 case SpvOpGroupNonUniformIAdd: return "SpvOpGroupNonUniformIAdd";
976 case SpvOpGroupNonUniformFAdd: return "SpvOpGroupNonUniformFAdd";
977 case SpvOpGroupNonUniformIMul: return "SpvOpGroupNonUniformIMul";
978 case SpvOpGroupNonUniformFMul: return "SpvOpGroupNonUniformFMul";
979 case SpvOpGroupNonUniformSMin: return "SpvOpGroupNonUniformSMin";
980 case SpvOpGroupNonUniformUMin: return "SpvOpGroupNonUniformUMin";
981 case SpvOpGroupNonUniformFMin: return "SpvOpGroupNonUniformFMin";
982 case SpvOpGroupNonUniformSMax: return "SpvOpGroupNonUniformSMax";
983 case SpvOpGroupNonUniformUMax: return "SpvOpGroupNonUniformUMax";
984 case SpvOpGroupNonUniformFMax: return "SpvOpGroupNonUniformFMax";
985 case SpvOpGroupNonUniformBitwiseAnd: return "SpvOpGroupNonUniformBitwiseAnd";
986 case SpvOpGroupNonUniformBitwiseOr: return "SpvOpGroupNonUniformBitwiseOr";
987 case SpvOpGroupNonUniformBitwiseXor: return "SpvOpGroupNonUniformBitwiseXor";
988 case SpvOpGroupNonUniformLogicalAnd: return "SpvOpGroupNonUniformLogicalAnd";
989 case SpvOpGroupNonUniformLogicalOr: return "SpvOpGroupNonUniformLogicalOr";
990 case SpvOpGroupNonUniformLogicalXor: return "SpvOpGroupNonUniformLogicalXor";
991 case SpvOpGroupNonUniformQuadBroadcast: return "SpvOpGroupNonUniformQuadBroadcast";
992 case SpvOpGroupNonUniformQuadSwap: return "SpvOpGroupNonUniformQuadSwap";
993 case SpvOpCopyLogical: return "SpvOpCopyLogical";
994 case SpvOpPtrEqual: return "SpvOpPtrEqual";
995 case SpvOpPtrNotEqual: return "SpvOpPtrNotEqual";
996 case SpvOpPtrDiff: return "SpvOpPtrDiff";
997 case SpvOpTerminateInvocation: return "SpvOpTerminateInvocation";
998 case SpvOpSubgroupBallotKHR: return "SpvOpSubgroupBallotKHR";
999 case SpvOpSubgroupFirstInvocationKHR: return "SpvOpSubgroupFirstInvocationKHR";
1000 case SpvOpSubgroupAllKHR: return "SpvOpSubgroupAllKHR";
1001 case SpvOpSubgroupAnyKHR: return "SpvOpSubgroupAnyKHR";
1002 case SpvOpSubgroupAllEqualKHR: return "SpvOpSubgroupAllEqualKHR";
1003 case SpvOpSubgroupReadInvocationKHR: return "SpvOpSubgroupReadInvocationKHR";
1004 case SpvOpTypeRayQueryProvisionalKHR: return "SpvOpTypeRayQueryProvisionalKHR";
1005 case SpvOpRayQueryInitializeKHR: return "SpvOpRayQueryInitializeKHR";
1006 case SpvOpRayQueryTerminateKHR: return "SpvOpRayQueryTerminateKHR";
1007 case SpvOpRayQueryGenerateIntersectionKHR: return "SpvOpRayQueryGenerateIntersectionKHR";
1008 case SpvOpRayQueryConfirmIntersectionKHR: return "SpvOpRayQueryConfirmIntersectionKHR";
1009 case SpvOpRayQueryProceedKHR: return "SpvOpRayQueryProceedKHR";
1010 case SpvOpRayQueryGetIntersectionTypeKHR: return "SpvOpRayQueryGetIntersectionTypeKHR";
1011 case SpvOpGroupIAddNonUniformAMD: return "SpvOpGroupIAddNonUniformAMD";
1012 case SpvOpGroupFAddNonUniformAMD: return "SpvOpGroupFAddNonUniformAMD";
1013 case SpvOpGroupFMinNonUniformAMD: return "SpvOpGroupFMinNonUniformAMD";
1014 case SpvOpGroupUMinNonUniformAMD: return "SpvOpGroupUMinNonUniformAMD";
1015 case SpvOpGroupSMinNonUniformAMD: return "SpvOpGroupSMinNonUniformAMD";
1016 case SpvOpGroupFMaxNonUniformAMD: return "SpvOpGroupFMaxNonUniformAMD";
1017 case SpvOpGroupUMaxNonUniformAMD: return "SpvOpGroupUMaxNonUniformAMD";
1018 case SpvOpGroupSMaxNonUniformAMD: return "SpvOpGroupSMaxNonUniformAMD";
1019 case SpvOpFragmentMaskFetchAMD: return "SpvOpFragmentMaskFetchAMD";
1020 case SpvOpFragmentFetchAMD: return "SpvOpFragmentFetchAMD";
1021 case SpvOpReadClockKHR: return "SpvOpReadClockKHR";
1022 case SpvOpImageSampleFootprintNV: return "SpvOpImageSampleFootprintNV";
1023 case SpvOpGroupNonUniformPartitionNV: return "SpvOpGroupNonUniformPartitionNV";
1024 case SpvOpWritePackedPrimitiveIndices4x8NV: return "SpvOpWritePackedPrimitiveIndices4x8NV";
1025 case SpvOpReportIntersectionNV: return "SpvOpReportIntersectionNV";
1026 case SpvOpIgnoreIntersectionNV: return "SpvOpIgnoreIntersectionNV";
1027 case SpvOpTerminateRayNV: return "SpvOpTerminateRayNV";
1028 case SpvOpTraceNV: return "SpvOpTraceNV";
1029 case SpvOpTypeAccelerationStructureNV: return "SpvOpTypeAccelerationStructureNV";
1030 case SpvOpExecuteCallableNV: return "SpvOpExecuteCallableNV";
1031 case SpvOpTypeCooperativeMatrixNV: return "SpvOpTypeCooperativeMatrixNV";
1032 case SpvOpCooperativeMatrixLoadNV: return "SpvOpCooperativeMatrixLoadNV";
1033 case SpvOpCooperativeMatrixStoreNV: return "SpvOpCooperativeMatrixStoreNV";
1034 case SpvOpCooperativeMatrixMulAddNV: return "SpvOpCooperativeMatrixMulAddNV";
1035 case SpvOpCooperativeMatrixLengthNV: return "SpvOpCooperativeMatrixLengthNV";
1036 case SpvOpBeginInvocationInterlockEXT: return "SpvOpBeginInvocationInterlockEXT";
1037 case SpvOpEndInvocationInterlockEXT: return "SpvOpEndInvocationInterlockEXT";
1038 case SpvOpDemoteToHelperInvocationEXT: return "SpvOpDemoteToHelperInvocationEXT";
1039 case SpvOpIsHelperInvocationEXT: return "SpvOpIsHelperInvocationEXT";
1040 case SpvOpSubgroupShuffleINTEL: return "SpvOpSubgroupShuffleINTEL";
1041 case SpvOpSubgroupShuffleDownINTEL: return "SpvOpSubgroupShuffleDownINTEL";
1042 case SpvOpSubgroupShuffleUpINTEL: return "SpvOpSubgroupShuffleUpINTEL";
1043 case SpvOpSubgroupShuffleXorINTEL: return "SpvOpSubgroupShuffleXorINTEL";
1044 case SpvOpSubgroupBlockReadINTEL: return "SpvOpSubgroupBlockReadINTEL";
1045 case SpvOpSubgroupBlockWriteINTEL: return "SpvOpSubgroupBlockWriteINTEL";
1046 case SpvOpSubgroupImageBlockReadINTEL: return "SpvOpSubgroupImageBlockReadINTEL";
1047 case SpvOpSubgroupImageBlockWriteINTEL: return "SpvOpSubgroupImageBlockWriteINTEL";
1048 case SpvOpSubgroupImageMediaBlockReadINTEL: return "SpvOpSubgroupImageMediaBlockReadINTEL";
1049 case SpvOpSubgroupImageMediaBlockWriteINTEL: return "SpvOpSubgroupImageMediaBlockWriteINTEL";
1050 case SpvOpUCountLeadingZerosINTEL: return "SpvOpUCountLeadingZerosINTEL";
1051 case SpvOpUCountTrailingZerosINTEL: return "SpvOpUCountTrailingZerosINTEL";
1052 case SpvOpAbsISubINTEL: return "SpvOpAbsISubINTEL";
1053 case SpvOpAbsUSubINTEL: return "SpvOpAbsUSubINTEL";
1054 case SpvOpIAddSatINTEL: return "SpvOpIAddSatINTEL";
1055 case SpvOpUAddSatINTEL: return "SpvOpUAddSatINTEL";
1056 case SpvOpIAverageINTEL: return "SpvOpIAverageINTEL";
1057 case SpvOpUAverageINTEL: return "SpvOpUAverageINTEL";
1058 case SpvOpIAverageRoundedINTEL: return "SpvOpIAverageRoundedINTEL";
1059 case SpvOpUAverageRoundedINTEL: return "SpvOpUAverageRoundedINTEL";
1060 case SpvOpISubSatINTEL: return "SpvOpISubSatINTEL";
1061 case SpvOpUSubSatINTEL: return "SpvOpUSubSatINTEL";
1062 case SpvOpIMul32x16INTEL: return "SpvOpIMul32x16INTEL";
1063 case SpvOpUMul32x16INTEL: return "SpvOpUMul32x16INTEL";
1064 case SpvOpFunctionPointerINTEL: return "SpvOpFunctionPointerINTEL";
1065 case SpvOpFunctionPointerCallINTEL: return "SpvOpFunctionPointerCallINTEL";
1066 case SpvOpDecorateString: return "SpvOpDecorateString";
1067 case SpvOpMemberDecorateString: return "SpvOpMemberDecorateString";
1068 case SpvOpVmeImageINTEL: return "SpvOpVmeImageINTEL";
1069 case SpvOpTypeVmeImageINTEL: return "SpvOpTypeVmeImageINTEL";
1070 case SpvOpTypeAvcImePayloadINTEL: return "SpvOpTypeAvcImePayloadINTEL";
1071 case SpvOpTypeAvcRefPayloadINTEL: return "SpvOpTypeAvcRefPayloadINTEL";
1072 case SpvOpTypeAvcSicPayloadINTEL: return "SpvOpTypeAvcSicPayloadINTEL";
1073 case SpvOpTypeAvcMcePayloadINTEL: return "SpvOpTypeAvcMcePayloadINTEL";
1074 case SpvOpTypeAvcMceResultINTEL: return "SpvOpTypeAvcMceResultINTEL";
1075 case SpvOpTypeAvcImeResultINTEL: return "SpvOpTypeAvcImeResultINTEL";
1076 case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: return "SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL";
1077 case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: return "SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL";
1078 case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: return "SpvOpTypeAvcImeSingleReferenceStreaminINTEL";
1079 case SpvOpTypeAvcImeDualReferenceStreaminINTEL: return "SpvOpTypeAvcImeDualReferenceStreaminINTEL";
1080 case SpvOpTypeAvcRefResultINTEL: return "SpvOpTypeAvcRefResultINTEL";
1081 case SpvOpTypeAvcSicResultINTEL: return "SpvOpTypeAvcSicResultINTEL";
1082 case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL";
1083 case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: return "SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL";
1084 case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL";
1085 case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: return "SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL";
1086 case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL";
1087 case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: return "SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL";
1088 case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL";
1089 case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL";
1090 case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL";
1091 case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL";
1092 case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: return "SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL";
1093 case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: return "SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL";
1094 case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL";
1095 case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL";
1096 case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: return "SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL";
1097 case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: return "SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL";
1098 case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: return "SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL";
1099 case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: return "SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL";
1100 case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: return "SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL";
1101 case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: return "SpvOpSubgroupAvcMceConvertToImePayloadINTEL";
1102 case SpvOpSubgroupAvcMceConvertToImeResultINTEL: return "SpvOpSubgroupAvcMceConvertToImeResultINTEL";
1103 case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: return "SpvOpSubgroupAvcMceConvertToRefPayloadINTEL";
1104 case SpvOpSubgroupAvcMceConvertToRefResultINTEL: return "SpvOpSubgroupAvcMceConvertToRefResultINTEL";
1105 case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: return "SpvOpSubgroupAvcMceConvertToSicPayloadINTEL";
1106 case SpvOpSubgroupAvcMceConvertToSicResultINTEL: return "SpvOpSubgroupAvcMceConvertToSicResultINTEL";
1107 case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: return "SpvOpSubgroupAvcMceGetMotionVectorsINTEL";
1108 case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: return "SpvOpSubgroupAvcMceGetInterDistortionsINTEL";
1109 case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: return "SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL";
1110 case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: return "SpvOpSubgroupAvcMceGetInterMajorShapeINTEL";
1111 case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: return "SpvOpSubgroupAvcMceGetInterMinorShapeINTEL";
1112 case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: return "SpvOpSubgroupAvcMceGetInterDirectionsINTEL";
1113 case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: return "SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL";
1114 case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: return "SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL";
1115 case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: return "SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL";
1116 case SpvOpSubgroupAvcImeInitializeINTEL: return "SpvOpSubgroupAvcImeInitializeINTEL";
1117 case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: return "SpvOpSubgroupAvcImeSetSingleReferenceINTEL";
1118 case SpvOpSubgroupAvcImeSetDualReferenceINTEL: return "SpvOpSubgroupAvcImeSetDualReferenceINTEL";
1119 case SpvOpSubgroupAvcImeRefWindowSizeINTEL: return "SpvOpSubgroupAvcImeRefWindowSizeINTEL";
1120 case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: return "SpvOpSubgroupAvcImeAdjustRefOffsetINTEL";
1121 case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: return "SpvOpSubgroupAvcImeConvertToMcePayloadINTEL";
1122 case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: return "SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL";
1123 case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: return "SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL";
1124 case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: return "SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL";
1125 case SpvOpSubgroupAvcImeSetWeightedSadINTEL: return "SpvOpSubgroupAvcImeSetWeightedSadINTEL";
1126 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL";
1127 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL";
1128 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL";
1129 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL";
1130 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL";
1131 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL";
1132 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL";
1133 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: return "SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL";
1134 case SpvOpSubgroupAvcImeConvertToMceResultINTEL: return "SpvOpSubgroupAvcImeConvertToMceResultINTEL";
1135 case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL";
1136 case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: return "SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL";
1137 case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL";
1138 case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: return "SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL";
1139 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL";
1140 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL";
1141 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL";
1142 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL";
1143 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL";
1144 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: return "SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL";
1145 case SpvOpSubgroupAvcImeGetBorderReachedINTEL: return "SpvOpSubgroupAvcImeGetBorderReachedINTEL";
1146 case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: return "SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL";
1147 case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: return "SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL";
1148 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: return "SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL";
1149 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: return "SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL";
1150 case SpvOpSubgroupAvcFmeInitializeINTEL: return "SpvOpSubgroupAvcFmeInitializeINTEL";
1151 case SpvOpSubgroupAvcBmeInitializeINTEL: return "SpvOpSubgroupAvcBmeInitializeINTEL";
1152 case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: return "SpvOpSubgroupAvcRefConvertToMcePayloadINTEL";
1153 case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: return "SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL";
1154 case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: return "SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL";
1155 case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: return "SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL";
1156 case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: return "SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL";
1157 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: return "SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL";
1158 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: return "SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL";
1159 case SpvOpSubgroupAvcRefConvertToMceResultINTEL: return "SpvOpSubgroupAvcRefConvertToMceResultINTEL";
1160 case SpvOpSubgroupAvcSicInitializeINTEL: return "SpvOpSubgroupAvcSicInitializeINTEL";
1161 case SpvOpSubgroupAvcSicConfigureSkcINTEL: return "SpvOpSubgroupAvcSicConfigureSkcINTEL";
1162 case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: return "SpvOpSubgroupAvcSicConfigureIpeLumaINTEL";
1163 case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: return "SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL";
1164 case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: return "SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL";
1165 case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: return "SpvOpSubgroupAvcSicConvertToMcePayloadINTEL";
1166 case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: return "SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL";
1167 case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: return "SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL";
1168 case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: return "SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL";
1169 case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: return "SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL";
1170 case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: return "SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL";
1171 case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: return "SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL";
1172 case SpvOpSubgroupAvcSicEvaluateIpeINTEL: return "SpvOpSubgroupAvcSicEvaluateIpeINTEL";
1173 case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: return "SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL";
1174 case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: return "SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL";
1175 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: return "SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL";
1176 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: return "SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL";
1177 case SpvOpSubgroupAvcSicConvertToMceResultINTEL: return "SpvOpSubgroupAvcSicConvertToMceResultINTEL";
1178 case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: return "SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL";
1179 case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: return "SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL";
1180 case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: return "SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL";
1181 case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: return "SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL";
1182 case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: return "SpvOpSubgroupAvcSicGetIpeChromaModeINTEL";
1183 case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: return "SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL";
1184 case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: return "SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL";
1185 case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: return "SpvOpSubgroupAvcSicGetInterRawSadsINTEL";
1186 case SpvOpLoopControlINTEL: return "SpvOpLoopControlINTEL";
1187 case SpvOpReadPipeBlockingINTEL: return "SpvOpReadPipeBlockingINTEL";
1188 case SpvOpWritePipeBlockingINTEL: return "SpvOpWritePipeBlockingINTEL";
1189 case SpvOpFPGARegINTEL: return "SpvOpFPGARegINTEL";
1190 case SpvOpRayQueryGetRayTMinKHR: return "SpvOpRayQueryGetRayTMinKHR";
1191 case SpvOpRayQueryGetRayFlagsKHR: return "SpvOpRayQueryGetRayFlagsKHR";
1192 case SpvOpRayQueryGetIntersectionTKHR: return "SpvOpRayQueryGetIntersectionTKHR";
1193 case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: return "SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR";
1194 case SpvOpRayQueryGetIntersectionInstanceIdKHR: return "SpvOpRayQueryGetIntersectionInstanceIdKHR";
1195 case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: return "SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR";
1196 case SpvOpRayQueryGetIntersectionGeometryIndexKHR: return "SpvOpRayQueryGetIntersectionGeometryIndexKHR";
1197 case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: return "SpvOpRayQueryGetIntersectionPrimitiveIndexKHR";
1198 case SpvOpRayQueryGetIntersectionBarycentricsKHR: return "SpvOpRayQueryGetIntersectionBarycentricsKHR";
1199 case SpvOpRayQueryGetIntersectionFrontFaceKHR: return "SpvOpRayQueryGetIntersectionFrontFaceKHR";
1200 case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: return "SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR";
1201 case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: return "SpvOpRayQueryGetIntersectionObjectRayDirectionKHR";
1202 case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: return "SpvOpRayQueryGetIntersectionObjectRayOriginKHR";
1203 case SpvOpRayQueryGetWorldRayDirectionKHR: return "SpvOpRayQueryGetWorldRayDirectionKHR";
1204 case SpvOpRayQueryGetWorldRayOriginKHR: return "SpvOpRayQueryGetWorldRayOriginKHR";
1205 case SpvOpRayQueryGetIntersectionObjectToWorldKHR: return "SpvOpRayQueryGetIntersectionObjectToWorldKHR";
1206 case SpvOpRayQueryGetIntersectionWorldToObjectKHR: return "SpvOpRayQueryGetIntersectionWorldToObjectKHR";
1207 case SpvOpAtomicFAddEXT: return "SpvOpAtomicFAddEXT";
1208 case SpvOpMax: break; /* silence warnings about unhandled enums. */
1209 }
1210
1211 return "unknown";
1212 }
1213