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 SpvAddressingModelPhysicalStorageBuffer64EXT: return "SpvAddressingModelPhysicalStorageBuffer64EXT"; 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 SpvBuiltInDeviceIndex: return "SpvBuiltInDeviceIndex"; 95 case SpvBuiltInViewIndex: return "SpvBuiltInViewIndex"; 96 case SpvBuiltInBaryCoordNoPerspAMD: return "SpvBuiltInBaryCoordNoPerspAMD"; 97 case SpvBuiltInBaryCoordNoPerspCentroidAMD: return "SpvBuiltInBaryCoordNoPerspCentroidAMD"; 98 case SpvBuiltInBaryCoordNoPerspSampleAMD: return "SpvBuiltInBaryCoordNoPerspSampleAMD"; 99 case SpvBuiltInBaryCoordSmoothAMD: return "SpvBuiltInBaryCoordSmoothAMD"; 100 case SpvBuiltInBaryCoordSmoothCentroidAMD: return "SpvBuiltInBaryCoordSmoothCentroidAMD"; 101 case SpvBuiltInBaryCoordSmoothSampleAMD: return "SpvBuiltInBaryCoordSmoothSampleAMD"; 102 case SpvBuiltInBaryCoordPullModelAMD: return "SpvBuiltInBaryCoordPullModelAMD"; 103 case SpvBuiltInFragStencilRefEXT: return "SpvBuiltInFragStencilRefEXT"; 104 case SpvBuiltInViewportMaskNV: return "SpvBuiltInViewportMaskNV"; 105 case SpvBuiltInSecondaryPositionNV: return "SpvBuiltInSecondaryPositionNV"; 106 case SpvBuiltInSecondaryViewportMaskNV: return "SpvBuiltInSecondaryViewportMaskNV"; 107 case SpvBuiltInPositionPerViewNV: return "SpvBuiltInPositionPerViewNV"; 108 case SpvBuiltInViewportMaskPerViewNV: return "SpvBuiltInViewportMaskPerViewNV"; 109 case SpvBuiltInFullyCoveredEXT: return "SpvBuiltInFullyCoveredEXT"; 110 case SpvBuiltInTaskCountNV: return "SpvBuiltInTaskCountNV"; 111 case SpvBuiltInPrimitiveCountNV: return "SpvBuiltInPrimitiveCountNV"; 112 case SpvBuiltInPrimitiveIndicesNV: return "SpvBuiltInPrimitiveIndicesNV"; 113 case SpvBuiltInClipDistancePerViewNV: return "SpvBuiltInClipDistancePerViewNV"; 114 case SpvBuiltInCullDistancePerViewNV: return "SpvBuiltInCullDistancePerViewNV"; 115 case SpvBuiltInLayerPerViewNV: return "SpvBuiltInLayerPerViewNV"; 116 case SpvBuiltInMeshViewCountNV: return "SpvBuiltInMeshViewCountNV"; 117 case SpvBuiltInMeshViewIndicesNV: return "SpvBuiltInMeshViewIndicesNV"; 118 case SpvBuiltInBaryCoordNV: return "SpvBuiltInBaryCoordNV"; 119 case SpvBuiltInBaryCoordNoPerspNV: return "SpvBuiltInBaryCoordNoPerspNV"; 120 case SpvBuiltInFragSizeEXT: return "SpvBuiltInFragSizeEXT"; 121 case SpvBuiltInFragInvocationCountEXT: return "SpvBuiltInFragInvocationCountEXT"; 122 case SpvBuiltInLaunchIdNV: return "SpvBuiltInLaunchIdNV"; 123 case SpvBuiltInLaunchSizeNV: return "SpvBuiltInLaunchSizeNV"; 124 case SpvBuiltInWorldRayOriginNV: return "SpvBuiltInWorldRayOriginNV"; 125 case SpvBuiltInWorldRayDirectionNV: return "SpvBuiltInWorldRayDirectionNV"; 126 case SpvBuiltInObjectRayOriginNV: return "SpvBuiltInObjectRayOriginNV"; 127 case SpvBuiltInObjectRayDirectionNV: return "SpvBuiltInObjectRayDirectionNV"; 128 case SpvBuiltInRayTminNV: return "SpvBuiltInRayTminNV"; 129 case SpvBuiltInRayTmaxNV: return "SpvBuiltInRayTmaxNV"; 130 case SpvBuiltInInstanceCustomIndexNV: return "SpvBuiltInInstanceCustomIndexNV"; 131 case SpvBuiltInObjectToWorldNV: return "SpvBuiltInObjectToWorldNV"; 132 case SpvBuiltInWorldToObjectNV: return "SpvBuiltInWorldToObjectNV"; 133 case SpvBuiltInHitTNV: return "SpvBuiltInHitTNV"; 134 case SpvBuiltInHitKindNV: return "SpvBuiltInHitKindNV"; 135 case SpvBuiltInIncomingRayFlagsNV: return "SpvBuiltInIncomingRayFlagsNV"; 136 case SpvBuiltInMax: break; /* silence warnings about unhandled enums. */ 137 } 138 139 return "unknown"; 140} 141 142const char * 143spirv_capability_to_string(SpvCapability v) 144{ 145 switch (v) { 146 case SpvCapabilityMatrix: return "SpvCapabilityMatrix"; 147 case SpvCapabilityShader: return "SpvCapabilityShader"; 148 case SpvCapabilityGeometry: return "SpvCapabilityGeometry"; 149 case SpvCapabilityTessellation: return "SpvCapabilityTessellation"; 150 case SpvCapabilityAddresses: return "SpvCapabilityAddresses"; 151 case SpvCapabilityLinkage: return "SpvCapabilityLinkage"; 152 case SpvCapabilityKernel: return "SpvCapabilityKernel"; 153 case SpvCapabilityVector16: return "SpvCapabilityVector16"; 154 case SpvCapabilityFloat16Buffer: return "SpvCapabilityFloat16Buffer"; 155 case SpvCapabilityFloat16: return "SpvCapabilityFloat16"; 156 case SpvCapabilityFloat64: return "SpvCapabilityFloat64"; 157 case SpvCapabilityInt64: return "SpvCapabilityInt64"; 158 case SpvCapabilityInt64Atomics: return "SpvCapabilityInt64Atomics"; 159 case SpvCapabilityImageBasic: return "SpvCapabilityImageBasic"; 160 case SpvCapabilityImageReadWrite: return "SpvCapabilityImageReadWrite"; 161 case SpvCapabilityImageMipmap: return "SpvCapabilityImageMipmap"; 162 case SpvCapabilityPipes: return "SpvCapabilityPipes"; 163 case SpvCapabilityGroups: return "SpvCapabilityGroups"; 164 case SpvCapabilityDeviceEnqueue: return "SpvCapabilityDeviceEnqueue"; 165 case SpvCapabilityLiteralSampler: return "SpvCapabilityLiteralSampler"; 166 case SpvCapabilityAtomicStorage: return "SpvCapabilityAtomicStorage"; 167 case SpvCapabilityInt16: return "SpvCapabilityInt16"; 168 case SpvCapabilityTessellationPointSize: return "SpvCapabilityTessellationPointSize"; 169 case SpvCapabilityGeometryPointSize: return "SpvCapabilityGeometryPointSize"; 170 case SpvCapabilityImageGatherExtended: return "SpvCapabilityImageGatherExtended"; 171 case SpvCapabilityStorageImageMultisample: return "SpvCapabilityStorageImageMultisample"; 172 case SpvCapabilityUniformBufferArrayDynamicIndexing: return "SpvCapabilityUniformBufferArrayDynamicIndexing"; 173 case SpvCapabilitySampledImageArrayDynamicIndexing: return "SpvCapabilitySampledImageArrayDynamicIndexing"; 174 case SpvCapabilityStorageBufferArrayDynamicIndexing: return "SpvCapabilityStorageBufferArrayDynamicIndexing"; 175 case SpvCapabilityStorageImageArrayDynamicIndexing: return "SpvCapabilityStorageImageArrayDynamicIndexing"; 176 case SpvCapabilityClipDistance: return "SpvCapabilityClipDistance"; 177 case SpvCapabilityCullDistance: return "SpvCapabilityCullDistance"; 178 case SpvCapabilityImageCubeArray: return "SpvCapabilityImageCubeArray"; 179 case SpvCapabilitySampleRateShading: return "SpvCapabilitySampleRateShading"; 180 case SpvCapabilityImageRect: return "SpvCapabilityImageRect"; 181 case SpvCapabilitySampledRect: return "SpvCapabilitySampledRect"; 182 case SpvCapabilityGenericPointer: return "SpvCapabilityGenericPointer"; 183 case SpvCapabilityInt8: return "SpvCapabilityInt8"; 184 case SpvCapabilityInputAttachment: return "SpvCapabilityInputAttachment"; 185 case SpvCapabilitySparseResidency: return "SpvCapabilitySparseResidency"; 186 case SpvCapabilityMinLod: return "SpvCapabilityMinLod"; 187 case SpvCapabilitySampled1D: return "SpvCapabilitySampled1D"; 188 case SpvCapabilityImage1D: return "SpvCapabilityImage1D"; 189 case SpvCapabilitySampledCubeArray: return "SpvCapabilitySampledCubeArray"; 190 case SpvCapabilitySampledBuffer: return "SpvCapabilitySampledBuffer"; 191 case SpvCapabilityImageBuffer: return "SpvCapabilityImageBuffer"; 192 case SpvCapabilityImageMSArray: return "SpvCapabilityImageMSArray"; 193 case SpvCapabilityStorageImageExtendedFormats: return "SpvCapabilityStorageImageExtendedFormats"; 194 case SpvCapabilityImageQuery: return "SpvCapabilityImageQuery"; 195 case SpvCapabilityDerivativeControl: return "SpvCapabilityDerivativeControl"; 196 case SpvCapabilityInterpolationFunction: return "SpvCapabilityInterpolationFunction"; 197 case SpvCapabilityTransformFeedback: return "SpvCapabilityTransformFeedback"; 198 case SpvCapabilityGeometryStreams: return "SpvCapabilityGeometryStreams"; 199 case SpvCapabilityStorageImageReadWithoutFormat: return "SpvCapabilityStorageImageReadWithoutFormat"; 200 case SpvCapabilityStorageImageWriteWithoutFormat: return "SpvCapabilityStorageImageWriteWithoutFormat"; 201 case SpvCapabilityMultiViewport: return "SpvCapabilityMultiViewport"; 202 case SpvCapabilitySubgroupDispatch: return "SpvCapabilitySubgroupDispatch"; 203 case SpvCapabilityNamedBarrier: return "SpvCapabilityNamedBarrier"; 204 case SpvCapabilityPipeStorage: return "SpvCapabilityPipeStorage"; 205 case SpvCapabilityGroupNonUniform: return "SpvCapabilityGroupNonUniform"; 206 case SpvCapabilityGroupNonUniformVote: return "SpvCapabilityGroupNonUniformVote"; 207 case SpvCapabilityGroupNonUniformArithmetic: return "SpvCapabilityGroupNonUniformArithmetic"; 208 case SpvCapabilityGroupNonUniformBallot: return "SpvCapabilityGroupNonUniformBallot"; 209 case SpvCapabilityGroupNonUniformShuffle: return "SpvCapabilityGroupNonUniformShuffle"; 210 case SpvCapabilityGroupNonUniformShuffleRelative: return "SpvCapabilityGroupNonUniformShuffleRelative"; 211 case SpvCapabilityGroupNonUniformClustered: return "SpvCapabilityGroupNonUniformClustered"; 212 case SpvCapabilityGroupNonUniformQuad: return "SpvCapabilityGroupNonUniformQuad"; 213 case SpvCapabilitySubgroupBallotKHR: return "SpvCapabilitySubgroupBallotKHR"; 214 case SpvCapabilityDrawParameters: return "SpvCapabilityDrawParameters"; 215 case SpvCapabilitySubgroupVoteKHR: return "SpvCapabilitySubgroupVoteKHR"; 216 case SpvCapabilityStorageBuffer16BitAccess: return "SpvCapabilityStorageBuffer16BitAccess"; 217 case SpvCapabilityUniformAndStorageBuffer16BitAccess: return "SpvCapabilityUniformAndStorageBuffer16BitAccess"; 218 case SpvCapabilityStoragePushConstant16: return "SpvCapabilityStoragePushConstant16"; 219 case SpvCapabilityStorageInputOutput16: return "SpvCapabilityStorageInputOutput16"; 220 case SpvCapabilityDeviceGroup: return "SpvCapabilityDeviceGroup"; 221 case SpvCapabilityMultiView: return "SpvCapabilityMultiView"; 222 case SpvCapabilityVariablePointersStorageBuffer: return "SpvCapabilityVariablePointersStorageBuffer"; 223 case SpvCapabilityVariablePointers: return "SpvCapabilityVariablePointers"; 224 case SpvCapabilityAtomicStorageOps: return "SpvCapabilityAtomicStorageOps"; 225 case SpvCapabilitySampleMaskPostDepthCoverage: return "SpvCapabilitySampleMaskPostDepthCoverage"; 226 case SpvCapabilityStorageBuffer8BitAccess: return "SpvCapabilityStorageBuffer8BitAccess"; 227 case SpvCapabilityUniformAndStorageBuffer8BitAccess: return "SpvCapabilityUniformAndStorageBuffer8BitAccess"; 228 case SpvCapabilityStoragePushConstant8: return "SpvCapabilityStoragePushConstant8"; 229 case SpvCapabilityDenormPreserve: return "SpvCapabilityDenormPreserve"; 230 case SpvCapabilityDenormFlushToZero: return "SpvCapabilityDenormFlushToZero"; 231 case SpvCapabilitySignedZeroInfNanPreserve: return "SpvCapabilitySignedZeroInfNanPreserve"; 232 case SpvCapabilityRoundingModeRTE: return "SpvCapabilityRoundingModeRTE"; 233 case SpvCapabilityRoundingModeRTZ: return "SpvCapabilityRoundingModeRTZ"; 234 case SpvCapabilityFloat16ImageAMD: return "SpvCapabilityFloat16ImageAMD"; 235 case SpvCapabilityImageGatherBiasLodAMD: return "SpvCapabilityImageGatherBiasLodAMD"; 236 case SpvCapabilityFragmentMaskAMD: return "SpvCapabilityFragmentMaskAMD"; 237 case SpvCapabilityStencilExportEXT: return "SpvCapabilityStencilExportEXT"; 238 case SpvCapabilityImageReadWriteLodAMD: return "SpvCapabilityImageReadWriteLodAMD"; 239 case SpvCapabilitySampleMaskOverrideCoverageNV: return "SpvCapabilitySampleMaskOverrideCoverageNV"; 240 case SpvCapabilityGeometryShaderPassthroughNV: return "SpvCapabilityGeometryShaderPassthroughNV"; 241 case SpvCapabilityShaderViewportIndexLayerEXT: return "SpvCapabilityShaderViewportIndexLayerEXT"; 242 case SpvCapabilityShaderViewportMaskNV: return "SpvCapabilityShaderViewportMaskNV"; 243 case SpvCapabilityShaderStereoViewNV: return "SpvCapabilityShaderStereoViewNV"; 244 case SpvCapabilityPerViewAttributesNV: return "SpvCapabilityPerViewAttributesNV"; 245 case SpvCapabilityFragmentFullyCoveredEXT: return "SpvCapabilityFragmentFullyCoveredEXT"; 246 case SpvCapabilityMeshShadingNV: return "SpvCapabilityMeshShadingNV"; 247 case SpvCapabilityShaderNonUniformEXT: return "SpvCapabilityShaderNonUniformEXT"; 248 case SpvCapabilityRuntimeDescriptorArrayEXT: return "SpvCapabilityRuntimeDescriptorArrayEXT"; 249 case SpvCapabilityInputAttachmentArrayDynamicIndexingEXT: return "SpvCapabilityInputAttachmentArrayDynamicIndexingEXT"; 250 case SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT: return "SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT"; 251 case SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT: return "SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT"; 252 case SpvCapabilityUniformBufferArrayNonUniformIndexingEXT: return "SpvCapabilityUniformBufferArrayNonUniformIndexingEXT"; 253 case SpvCapabilitySampledImageArrayNonUniformIndexingEXT: return "SpvCapabilitySampledImageArrayNonUniformIndexingEXT"; 254 case SpvCapabilityStorageBufferArrayNonUniformIndexingEXT: return "SpvCapabilityStorageBufferArrayNonUniformIndexingEXT"; 255 case SpvCapabilityStorageImageArrayNonUniformIndexingEXT: return "SpvCapabilityStorageImageArrayNonUniformIndexingEXT"; 256 case SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT: return "SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT"; 257 case SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT: return "SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT"; 258 case SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT: return "SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT"; 259 case SpvCapabilityRayTracingNV: return "SpvCapabilityRayTracingNV"; 260 case SpvCapabilitySubgroupShuffleINTEL: return "SpvCapabilitySubgroupShuffleINTEL"; 261 case SpvCapabilitySubgroupBufferBlockIOINTEL: return "SpvCapabilitySubgroupBufferBlockIOINTEL"; 262 case SpvCapabilitySubgroupImageBlockIOINTEL: return "SpvCapabilitySubgroupImageBlockIOINTEL"; 263 case SpvCapabilityGroupNonUniformPartitionedNV: return "SpvCapabilityGroupNonUniformPartitionedNV"; 264 case SpvCapabilityVulkanMemoryModelKHR: return "SpvCapabilityVulkanMemoryModelKHR"; 265 case SpvCapabilityVulkanMemoryModelDeviceScopeKHR: return "SpvCapabilityVulkanMemoryModelDeviceScopeKHR"; 266 case SpvCapabilityImageFootprintNV: return "SpvCapabilityImageFootprintNV"; 267 case SpvCapabilityFragmentBarycentricNV: return "SpvCapabilityFragmentBarycentricNV"; 268 case SpvCapabilityComputeDerivativeGroupQuadsNV: return "SpvCapabilityComputeDerivativeGroupQuadsNV"; 269 case SpvCapabilityComputeDerivativeGroupLinearNV: return "SpvCapabilityComputeDerivativeGroupLinearNV"; 270 case SpvCapabilityFragmentDensityEXT: return "SpvCapabilityFragmentDensityEXT"; 271 case SpvCapabilityPhysicalStorageBufferAddressesEXT: return "SpvCapabilityPhysicalStorageBufferAddressesEXT"; 272 case SpvCapabilityMax: break; /* silence warnings about unhandled enums. */ 273 } 274 275 return "unknown"; 276} 277 278const char * 279spirv_decoration_to_string(SpvDecoration v) 280{ 281 switch (v) { 282 case SpvDecorationRelaxedPrecision: return "SpvDecorationRelaxedPrecision"; 283 case SpvDecorationSpecId: return "SpvDecorationSpecId"; 284 case SpvDecorationBlock: return "SpvDecorationBlock"; 285 case SpvDecorationBufferBlock: return "SpvDecorationBufferBlock"; 286 case SpvDecorationRowMajor: return "SpvDecorationRowMajor"; 287 case SpvDecorationColMajor: return "SpvDecorationColMajor"; 288 case SpvDecorationArrayStride: return "SpvDecorationArrayStride"; 289 case SpvDecorationMatrixStride: return "SpvDecorationMatrixStride"; 290 case SpvDecorationGLSLShared: return "SpvDecorationGLSLShared"; 291 case SpvDecorationGLSLPacked: return "SpvDecorationGLSLPacked"; 292 case SpvDecorationCPacked: return "SpvDecorationCPacked"; 293 case SpvDecorationBuiltIn: return "SpvDecorationBuiltIn"; 294 case SpvDecorationNoPerspective: return "SpvDecorationNoPerspective"; 295 case SpvDecorationFlat: return "SpvDecorationFlat"; 296 case SpvDecorationPatch: return "SpvDecorationPatch"; 297 case SpvDecorationCentroid: return "SpvDecorationCentroid"; 298 case SpvDecorationSample: return "SpvDecorationSample"; 299 case SpvDecorationInvariant: return "SpvDecorationInvariant"; 300 case SpvDecorationRestrict: return "SpvDecorationRestrict"; 301 case SpvDecorationAliased: return "SpvDecorationAliased"; 302 case SpvDecorationVolatile: return "SpvDecorationVolatile"; 303 case SpvDecorationConstant: return "SpvDecorationConstant"; 304 case SpvDecorationCoherent: return "SpvDecorationCoherent"; 305 case SpvDecorationNonWritable: return "SpvDecorationNonWritable"; 306 case SpvDecorationNonReadable: return "SpvDecorationNonReadable"; 307 case SpvDecorationUniform: return "SpvDecorationUniform"; 308 case SpvDecorationSaturatedConversion: return "SpvDecorationSaturatedConversion"; 309 case SpvDecorationStream: return "SpvDecorationStream"; 310 case SpvDecorationLocation: return "SpvDecorationLocation"; 311 case SpvDecorationComponent: return "SpvDecorationComponent"; 312 case SpvDecorationIndex: return "SpvDecorationIndex"; 313 case SpvDecorationBinding: return "SpvDecorationBinding"; 314 case SpvDecorationDescriptorSet: return "SpvDecorationDescriptorSet"; 315 case SpvDecorationOffset: return "SpvDecorationOffset"; 316 case SpvDecorationXfbBuffer: return "SpvDecorationXfbBuffer"; 317 case SpvDecorationXfbStride: return "SpvDecorationXfbStride"; 318 case SpvDecorationFuncParamAttr: return "SpvDecorationFuncParamAttr"; 319 case SpvDecorationFPRoundingMode: return "SpvDecorationFPRoundingMode"; 320 case SpvDecorationFPFastMathMode: return "SpvDecorationFPFastMathMode"; 321 case SpvDecorationLinkageAttributes: return "SpvDecorationLinkageAttributes"; 322 case SpvDecorationNoContraction: return "SpvDecorationNoContraction"; 323 case SpvDecorationInputAttachmentIndex: return "SpvDecorationInputAttachmentIndex"; 324 case SpvDecorationAlignment: return "SpvDecorationAlignment"; 325 case SpvDecorationMaxByteOffset: return "SpvDecorationMaxByteOffset"; 326 case SpvDecorationAlignmentId: return "SpvDecorationAlignmentId"; 327 case SpvDecorationMaxByteOffsetId: return "SpvDecorationMaxByteOffsetId"; 328 case SpvDecorationNoSignedWrap: return "SpvDecorationNoSignedWrap"; 329 case SpvDecorationNoUnsignedWrap: return "SpvDecorationNoUnsignedWrap"; 330 case SpvDecorationExplicitInterpAMD: return "SpvDecorationExplicitInterpAMD"; 331 case SpvDecorationOverrideCoverageNV: return "SpvDecorationOverrideCoverageNV"; 332 case SpvDecorationPassthroughNV: return "SpvDecorationPassthroughNV"; 333 case SpvDecorationViewportRelativeNV: return "SpvDecorationViewportRelativeNV"; 334 case SpvDecorationSecondaryViewportRelativeNV: return "SpvDecorationSecondaryViewportRelativeNV"; 335 case SpvDecorationPerPrimitiveNV: return "SpvDecorationPerPrimitiveNV"; 336 case SpvDecorationPerViewNV: return "SpvDecorationPerViewNV"; 337 case SpvDecorationPerTaskNV: return "SpvDecorationPerTaskNV"; 338 case SpvDecorationPerVertexNV: return "SpvDecorationPerVertexNV"; 339 case SpvDecorationNonUniformEXT: return "SpvDecorationNonUniformEXT"; 340 case SpvDecorationHlslCounterBufferGOOGLE: return "SpvDecorationHlslCounterBufferGOOGLE"; 341 case SpvDecorationHlslSemanticGOOGLE: return "SpvDecorationHlslSemanticGOOGLE"; 342 case SpvDecorationRestrictPointerEXT: return "SpvDecorationRestrictPointerEXT"; 343 case SpvDecorationAliasedPointerEXT: return "SpvDecorationAliasedPointerEXT"; 344 case SpvDecorationMax: break; /* silence warnings about unhandled enums. */ 345 } 346 347 return "unknown"; 348} 349 350const char * 351spirv_dim_to_string(SpvDim v) 352{ 353 switch (v) { 354 case SpvDim1D: return "SpvDim1D"; 355 case SpvDim2D: return "SpvDim2D"; 356 case SpvDim3D: return "SpvDim3D"; 357 case SpvDimCube: return "SpvDimCube"; 358 case SpvDimRect: return "SpvDimRect"; 359 case SpvDimBuffer: return "SpvDimBuffer"; 360 case SpvDimSubpassData: return "SpvDimSubpassData"; 361 case SpvDimMax: break; /* silence warnings about unhandled enums. */ 362 } 363 364 return "unknown"; 365} 366 367const char * 368spirv_executionmode_to_string(SpvExecutionMode v) 369{ 370 switch (v) { 371 case SpvExecutionModeInvocations: return "SpvExecutionModeInvocations"; 372 case SpvExecutionModeSpacingEqual: return "SpvExecutionModeSpacingEqual"; 373 case SpvExecutionModeSpacingFractionalEven: return "SpvExecutionModeSpacingFractionalEven"; 374 case SpvExecutionModeSpacingFractionalOdd: return "SpvExecutionModeSpacingFractionalOdd"; 375 case SpvExecutionModeVertexOrderCw: return "SpvExecutionModeVertexOrderCw"; 376 case SpvExecutionModeVertexOrderCcw: return "SpvExecutionModeVertexOrderCcw"; 377 case SpvExecutionModePixelCenterInteger: return "SpvExecutionModePixelCenterInteger"; 378 case SpvExecutionModeOriginUpperLeft: return "SpvExecutionModeOriginUpperLeft"; 379 case SpvExecutionModeOriginLowerLeft: return "SpvExecutionModeOriginLowerLeft"; 380 case SpvExecutionModeEarlyFragmentTests: return "SpvExecutionModeEarlyFragmentTests"; 381 case SpvExecutionModePointMode: return "SpvExecutionModePointMode"; 382 case SpvExecutionModeXfb: return "SpvExecutionModeXfb"; 383 case SpvExecutionModeDepthReplacing: return "SpvExecutionModeDepthReplacing"; 384 case SpvExecutionModeDepthGreater: return "SpvExecutionModeDepthGreater"; 385 case SpvExecutionModeDepthLess: return "SpvExecutionModeDepthLess"; 386 case SpvExecutionModeDepthUnchanged: return "SpvExecutionModeDepthUnchanged"; 387 case SpvExecutionModeLocalSize: return "SpvExecutionModeLocalSize"; 388 case SpvExecutionModeLocalSizeHint: return "SpvExecutionModeLocalSizeHint"; 389 case SpvExecutionModeInputPoints: return "SpvExecutionModeInputPoints"; 390 case SpvExecutionModeInputLines: return "SpvExecutionModeInputLines"; 391 case SpvExecutionModeInputLinesAdjacency: return "SpvExecutionModeInputLinesAdjacency"; 392 case SpvExecutionModeTriangles: return "SpvExecutionModeTriangles"; 393 case SpvExecutionModeInputTrianglesAdjacency: return "SpvExecutionModeInputTrianglesAdjacency"; 394 case SpvExecutionModeQuads: return "SpvExecutionModeQuads"; 395 case SpvExecutionModeIsolines: return "SpvExecutionModeIsolines"; 396 case SpvExecutionModeOutputVertices: return "SpvExecutionModeOutputVertices"; 397 case SpvExecutionModeOutputPoints: return "SpvExecutionModeOutputPoints"; 398 case SpvExecutionModeOutputLineStrip: return "SpvExecutionModeOutputLineStrip"; 399 case SpvExecutionModeOutputTriangleStrip: return "SpvExecutionModeOutputTriangleStrip"; 400 case SpvExecutionModeVecTypeHint: return "SpvExecutionModeVecTypeHint"; 401 case SpvExecutionModeContractionOff: return "SpvExecutionModeContractionOff"; 402 case SpvExecutionModeInitializer: return "SpvExecutionModeInitializer"; 403 case SpvExecutionModeFinalizer: return "SpvExecutionModeFinalizer"; 404 case SpvExecutionModeSubgroupSize: return "SpvExecutionModeSubgroupSize"; 405 case SpvExecutionModeSubgroupsPerWorkgroup: return "SpvExecutionModeSubgroupsPerWorkgroup"; 406 case SpvExecutionModeSubgroupsPerWorkgroupId: return "SpvExecutionModeSubgroupsPerWorkgroupId"; 407 case SpvExecutionModeLocalSizeId: return "SpvExecutionModeLocalSizeId"; 408 case SpvExecutionModeLocalSizeHintId: return "SpvExecutionModeLocalSizeHintId"; 409 case SpvExecutionModePostDepthCoverage: return "SpvExecutionModePostDepthCoverage"; 410 case SpvExecutionModeDenormPreserve: return "SpvExecutionModeDenormPreserve"; 411 case SpvExecutionModeDenormFlushToZero: return "SpvExecutionModeDenormFlushToZero"; 412 case SpvExecutionModeSignedZeroInfNanPreserve: return "SpvExecutionModeSignedZeroInfNanPreserve"; 413 case SpvExecutionModeRoundingModeRTE: return "SpvExecutionModeRoundingModeRTE"; 414 case SpvExecutionModeRoundingModeRTZ: return "SpvExecutionModeRoundingModeRTZ"; 415 case SpvExecutionModeStencilRefReplacingEXT: return "SpvExecutionModeStencilRefReplacingEXT"; 416 case SpvExecutionModeOutputLinesNV: return "SpvExecutionModeOutputLinesNV"; 417 case SpvExecutionModeOutputPrimitivesNV: return "SpvExecutionModeOutputPrimitivesNV"; 418 case SpvExecutionModeDerivativeGroupQuadsNV: return "SpvExecutionModeDerivativeGroupQuadsNV"; 419 case SpvExecutionModeDerivativeGroupLinearNV: return "SpvExecutionModeDerivativeGroupLinearNV"; 420 case SpvExecutionModeOutputTrianglesNV: return "SpvExecutionModeOutputTrianglesNV"; 421 case SpvExecutionModeMax: break; /* silence warnings about unhandled enums. */ 422 } 423 424 return "unknown"; 425} 426 427const char * 428spirv_executionmodel_to_string(SpvExecutionModel v) 429{ 430 switch (v) { 431 case SpvExecutionModelVertex: return "SpvExecutionModelVertex"; 432 case SpvExecutionModelTessellationControl: return "SpvExecutionModelTessellationControl"; 433 case SpvExecutionModelTessellationEvaluation: return "SpvExecutionModelTessellationEvaluation"; 434 case SpvExecutionModelGeometry: return "SpvExecutionModelGeometry"; 435 case SpvExecutionModelFragment: return "SpvExecutionModelFragment"; 436 case SpvExecutionModelGLCompute: return "SpvExecutionModelGLCompute"; 437 case SpvExecutionModelKernel: return "SpvExecutionModelKernel"; 438 case SpvExecutionModelTaskNV: return "SpvExecutionModelTaskNV"; 439 case SpvExecutionModelMeshNV: return "SpvExecutionModelMeshNV"; 440 case SpvExecutionModelRayGenerationNV: return "SpvExecutionModelRayGenerationNV"; 441 case SpvExecutionModelIntersectionNV: return "SpvExecutionModelIntersectionNV"; 442 case SpvExecutionModelAnyHitNV: return "SpvExecutionModelAnyHitNV"; 443 case SpvExecutionModelClosestHitNV: return "SpvExecutionModelClosestHitNV"; 444 case SpvExecutionModelMissNV: return "SpvExecutionModelMissNV"; 445 case SpvExecutionModelCallableNV: return "SpvExecutionModelCallableNV"; 446 case SpvExecutionModelMax: break; /* silence warnings about unhandled enums. */ 447 } 448 449 return "unknown"; 450} 451 452const char * 453spirv_imageformat_to_string(SpvImageFormat v) 454{ 455 switch (v) { 456 case SpvImageFormatUnknown: return "SpvImageFormatUnknown"; 457 case SpvImageFormatRgba32f: return "SpvImageFormatRgba32f"; 458 case SpvImageFormatRgba16f: return "SpvImageFormatRgba16f"; 459 case SpvImageFormatR32f: return "SpvImageFormatR32f"; 460 case SpvImageFormatRgba8: return "SpvImageFormatRgba8"; 461 case SpvImageFormatRgba8Snorm: return "SpvImageFormatRgba8Snorm"; 462 case SpvImageFormatRg32f: return "SpvImageFormatRg32f"; 463 case SpvImageFormatRg16f: return "SpvImageFormatRg16f"; 464 case SpvImageFormatR11fG11fB10f: return "SpvImageFormatR11fG11fB10f"; 465 case SpvImageFormatR16f: return "SpvImageFormatR16f"; 466 case SpvImageFormatRgba16: return "SpvImageFormatRgba16"; 467 case SpvImageFormatRgb10A2: return "SpvImageFormatRgb10A2"; 468 case SpvImageFormatRg16: return "SpvImageFormatRg16"; 469 case SpvImageFormatRg8: return "SpvImageFormatRg8"; 470 case SpvImageFormatR16: return "SpvImageFormatR16"; 471 case SpvImageFormatR8: return "SpvImageFormatR8"; 472 case SpvImageFormatRgba16Snorm: return "SpvImageFormatRgba16Snorm"; 473 case SpvImageFormatRg16Snorm: return "SpvImageFormatRg16Snorm"; 474 case SpvImageFormatRg8Snorm: return "SpvImageFormatRg8Snorm"; 475 case SpvImageFormatR16Snorm: return "SpvImageFormatR16Snorm"; 476 case SpvImageFormatR8Snorm: return "SpvImageFormatR8Snorm"; 477 case SpvImageFormatRgba32i: return "SpvImageFormatRgba32i"; 478 case SpvImageFormatRgba16i: return "SpvImageFormatRgba16i"; 479 case SpvImageFormatRgba8i: return "SpvImageFormatRgba8i"; 480 case SpvImageFormatR32i: return "SpvImageFormatR32i"; 481 case SpvImageFormatRg32i: return "SpvImageFormatRg32i"; 482 case SpvImageFormatRg16i: return "SpvImageFormatRg16i"; 483 case SpvImageFormatRg8i: return "SpvImageFormatRg8i"; 484 case SpvImageFormatR16i: return "SpvImageFormatR16i"; 485 case SpvImageFormatR8i: return "SpvImageFormatR8i"; 486 case SpvImageFormatRgba32ui: return "SpvImageFormatRgba32ui"; 487 case SpvImageFormatRgba16ui: return "SpvImageFormatRgba16ui"; 488 case SpvImageFormatRgba8ui: return "SpvImageFormatRgba8ui"; 489 case SpvImageFormatR32ui: return "SpvImageFormatR32ui"; 490 case SpvImageFormatRgb10a2ui: return "SpvImageFormatRgb10a2ui"; 491 case SpvImageFormatRg32ui: return "SpvImageFormatRg32ui"; 492 case SpvImageFormatRg16ui: return "SpvImageFormatRg16ui"; 493 case SpvImageFormatRg8ui: return "SpvImageFormatRg8ui"; 494 case SpvImageFormatR16ui: return "SpvImageFormatR16ui"; 495 case SpvImageFormatR8ui: return "SpvImageFormatR8ui"; 496 case SpvImageFormatMax: break; /* silence warnings about unhandled enums. */ 497 } 498 499 return "unknown"; 500} 501 502const char * 503spirv_storageclass_to_string(SpvStorageClass v) 504{ 505 switch (v) { 506 case SpvStorageClassUniformConstant: return "SpvStorageClassUniformConstant"; 507 case SpvStorageClassInput: return "SpvStorageClassInput"; 508 case SpvStorageClassUniform: return "SpvStorageClassUniform"; 509 case SpvStorageClassOutput: return "SpvStorageClassOutput"; 510 case SpvStorageClassWorkgroup: return "SpvStorageClassWorkgroup"; 511 case SpvStorageClassCrossWorkgroup: return "SpvStorageClassCrossWorkgroup"; 512 case SpvStorageClassPrivate: return "SpvStorageClassPrivate"; 513 case SpvStorageClassFunction: return "SpvStorageClassFunction"; 514 case SpvStorageClassGeneric: return "SpvStorageClassGeneric"; 515 case SpvStorageClassPushConstant: return "SpvStorageClassPushConstant"; 516 case SpvStorageClassAtomicCounter: return "SpvStorageClassAtomicCounter"; 517 case SpvStorageClassImage: return "SpvStorageClassImage"; 518 case SpvStorageClassStorageBuffer: return "SpvStorageClassStorageBuffer"; 519 case SpvStorageClassCallableDataNV: return "SpvStorageClassCallableDataNV"; 520 case SpvStorageClassIncomingCallableDataNV: return "SpvStorageClassIncomingCallableDataNV"; 521 case SpvStorageClassRayPayloadNV: return "SpvStorageClassRayPayloadNV"; 522 case SpvStorageClassHitAttributeNV: return "SpvStorageClassHitAttributeNV"; 523 case SpvStorageClassIncomingRayPayloadNV: return "SpvStorageClassIncomingRayPayloadNV"; 524 case SpvStorageClassShaderRecordBufferNV: return "SpvStorageClassShaderRecordBufferNV"; 525 case SpvStorageClassPhysicalStorageBufferEXT: return "SpvStorageClassPhysicalStorageBufferEXT"; 526 case SpvStorageClassMax: break; /* silence warnings about unhandled enums. */ 527 } 528 529 return "unknown"; 530} 531 532const char * 533spirv_op_to_string(SpvOp v) 534{ 535 switch (v) { 536 case SpvOpNop: return "SpvOpNop"; 537 case SpvOpUndef: return "SpvOpUndef"; 538 case SpvOpSourceContinued: return "SpvOpSourceContinued"; 539 case SpvOpSource: return "SpvOpSource"; 540 case SpvOpSourceExtension: return "SpvOpSourceExtension"; 541 case SpvOpName: return "SpvOpName"; 542 case SpvOpMemberName: return "SpvOpMemberName"; 543 case SpvOpString: return "SpvOpString"; 544 case SpvOpLine: return "SpvOpLine"; 545 case SpvOpExtension: return "SpvOpExtension"; 546 case SpvOpExtInstImport: return "SpvOpExtInstImport"; 547 case SpvOpExtInst: return "SpvOpExtInst"; 548 case SpvOpMemoryModel: return "SpvOpMemoryModel"; 549 case SpvOpEntryPoint: return "SpvOpEntryPoint"; 550 case SpvOpExecutionMode: return "SpvOpExecutionMode"; 551 case SpvOpCapability: return "SpvOpCapability"; 552 case SpvOpTypeVoid: return "SpvOpTypeVoid"; 553 case SpvOpTypeBool: return "SpvOpTypeBool"; 554 case SpvOpTypeInt: return "SpvOpTypeInt"; 555 case SpvOpTypeFloat: return "SpvOpTypeFloat"; 556 case SpvOpTypeVector: return "SpvOpTypeVector"; 557 case SpvOpTypeMatrix: return "SpvOpTypeMatrix"; 558 case SpvOpTypeImage: return "SpvOpTypeImage"; 559 case SpvOpTypeSampler: return "SpvOpTypeSampler"; 560 case SpvOpTypeSampledImage: return "SpvOpTypeSampledImage"; 561 case SpvOpTypeArray: return "SpvOpTypeArray"; 562 case SpvOpTypeRuntimeArray: return "SpvOpTypeRuntimeArray"; 563 case SpvOpTypeStruct: return "SpvOpTypeStruct"; 564 case SpvOpTypeOpaque: return "SpvOpTypeOpaque"; 565 case SpvOpTypePointer: return "SpvOpTypePointer"; 566 case SpvOpTypeFunction: return "SpvOpTypeFunction"; 567 case SpvOpTypeEvent: return "SpvOpTypeEvent"; 568 case SpvOpTypeDeviceEvent: return "SpvOpTypeDeviceEvent"; 569 case SpvOpTypeReserveId: return "SpvOpTypeReserveId"; 570 case SpvOpTypeQueue: return "SpvOpTypeQueue"; 571 case SpvOpTypePipe: return "SpvOpTypePipe"; 572 case SpvOpTypeForwardPointer: return "SpvOpTypeForwardPointer"; 573 case SpvOpConstantTrue: return "SpvOpConstantTrue"; 574 case SpvOpConstantFalse: return "SpvOpConstantFalse"; 575 case SpvOpConstant: return "SpvOpConstant"; 576 case SpvOpConstantComposite: return "SpvOpConstantComposite"; 577 case SpvOpConstantSampler: return "SpvOpConstantSampler"; 578 case SpvOpConstantNull: return "SpvOpConstantNull"; 579 case SpvOpSpecConstantTrue: return "SpvOpSpecConstantTrue"; 580 case SpvOpSpecConstantFalse: return "SpvOpSpecConstantFalse"; 581 case SpvOpSpecConstant: return "SpvOpSpecConstant"; 582 case SpvOpSpecConstantComposite: return "SpvOpSpecConstantComposite"; 583 case SpvOpSpecConstantOp: return "SpvOpSpecConstantOp"; 584 case SpvOpFunction: return "SpvOpFunction"; 585 case SpvOpFunctionParameter: return "SpvOpFunctionParameter"; 586 case SpvOpFunctionEnd: return "SpvOpFunctionEnd"; 587 case SpvOpFunctionCall: return "SpvOpFunctionCall"; 588 case SpvOpVariable: return "SpvOpVariable"; 589 case SpvOpImageTexelPointer: return "SpvOpImageTexelPointer"; 590 case SpvOpLoad: return "SpvOpLoad"; 591 case SpvOpStore: return "SpvOpStore"; 592 case SpvOpCopyMemory: return "SpvOpCopyMemory"; 593 case SpvOpCopyMemorySized: return "SpvOpCopyMemorySized"; 594 case SpvOpAccessChain: return "SpvOpAccessChain"; 595 case SpvOpInBoundsAccessChain: return "SpvOpInBoundsAccessChain"; 596 case SpvOpPtrAccessChain: return "SpvOpPtrAccessChain"; 597 case SpvOpArrayLength: return "SpvOpArrayLength"; 598 case SpvOpGenericPtrMemSemantics: return "SpvOpGenericPtrMemSemantics"; 599 case SpvOpInBoundsPtrAccessChain: return "SpvOpInBoundsPtrAccessChain"; 600 case SpvOpDecorate: return "SpvOpDecorate"; 601 case SpvOpMemberDecorate: return "SpvOpMemberDecorate"; 602 case SpvOpDecorationGroup: return "SpvOpDecorationGroup"; 603 case SpvOpGroupDecorate: return "SpvOpGroupDecorate"; 604 case SpvOpGroupMemberDecorate: return "SpvOpGroupMemberDecorate"; 605 case SpvOpVectorExtractDynamic: return "SpvOpVectorExtractDynamic"; 606 case SpvOpVectorInsertDynamic: return "SpvOpVectorInsertDynamic"; 607 case SpvOpVectorShuffle: return "SpvOpVectorShuffle"; 608 case SpvOpCompositeConstruct: return "SpvOpCompositeConstruct"; 609 case SpvOpCompositeExtract: return "SpvOpCompositeExtract"; 610 case SpvOpCompositeInsert: return "SpvOpCompositeInsert"; 611 case SpvOpCopyObject: return "SpvOpCopyObject"; 612 case SpvOpTranspose: return "SpvOpTranspose"; 613 case SpvOpSampledImage: return "SpvOpSampledImage"; 614 case SpvOpImageSampleImplicitLod: return "SpvOpImageSampleImplicitLod"; 615 case SpvOpImageSampleExplicitLod: return "SpvOpImageSampleExplicitLod"; 616 case SpvOpImageSampleDrefImplicitLod: return "SpvOpImageSampleDrefImplicitLod"; 617 case SpvOpImageSampleDrefExplicitLod: return "SpvOpImageSampleDrefExplicitLod"; 618 case SpvOpImageSampleProjImplicitLod: return "SpvOpImageSampleProjImplicitLod"; 619 case SpvOpImageSampleProjExplicitLod: return "SpvOpImageSampleProjExplicitLod"; 620 case SpvOpImageSampleProjDrefImplicitLod: return "SpvOpImageSampleProjDrefImplicitLod"; 621 case SpvOpImageSampleProjDrefExplicitLod: return "SpvOpImageSampleProjDrefExplicitLod"; 622 case SpvOpImageFetch: return "SpvOpImageFetch"; 623 case SpvOpImageGather: return "SpvOpImageGather"; 624 case SpvOpImageDrefGather: return "SpvOpImageDrefGather"; 625 case SpvOpImageRead: return "SpvOpImageRead"; 626 case SpvOpImageWrite: return "SpvOpImageWrite"; 627 case SpvOpImage: return "SpvOpImage"; 628 case SpvOpImageQueryFormat: return "SpvOpImageQueryFormat"; 629 case SpvOpImageQueryOrder: return "SpvOpImageQueryOrder"; 630 case SpvOpImageQuerySizeLod: return "SpvOpImageQuerySizeLod"; 631 case SpvOpImageQuerySize: return "SpvOpImageQuerySize"; 632 case SpvOpImageQueryLod: return "SpvOpImageQueryLod"; 633 case SpvOpImageQueryLevels: return "SpvOpImageQueryLevels"; 634 case SpvOpImageQuerySamples: return "SpvOpImageQuerySamples"; 635 case SpvOpConvertFToU: return "SpvOpConvertFToU"; 636 case SpvOpConvertFToS: return "SpvOpConvertFToS"; 637 case SpvOpConvertSToF: return "SpvOpConvertSToF"; 638 case SpvOpConvertUToF: return "SpvOpConvertUToF"; 639 case SpvOpUConvert: return "SpvOpUConvert"; 640 case SpvOpSConvert: return "SpvOpSConvert"; 641 case SpvOpFConvert: return "SpvOpFConvert"; 642 case SpvOpQuantizeToF16: return "SpvOpQuantizeToF16"; 643 case SpvOpConvertPtrToU: return "SpvOpConvertPtrToU"; 644 case SpvOpSatConvertSToU: return "SpvOpSatConvertSToU"; 645 case SpvOpSatConvertUToS: return "SpvOpSatConvertUToS"; 646 case SpvOpConvertUToPtr: return "SpvOpConvertUToPtr"; 647 case SpvOpPtrCastToGeneric: return "SpvOpPtrCastToGeneric"; 648 case SpvOpGenericCastToPtr: return "SpvOpGenericCastToPtr"; 649 case SpvOpGenericCastToPtrExplicit: return "SpvOpGenericCastToPtrExplicit"; 650 case SpvOpBitcast: return "SpvOpBitcast"; 651 case SpvOpSNegate: return "SpvOpSNegate"; 652 case SpvOpFNegate: return "SpvOpFNegate"; 653 case SpvOpIAdd: return "SpvOpIAdd"; 654 case SpvOpFAdd: return "SpvOpFAdd"; 655 case SpvOpISub: return "SpvOpISub"; 656 case SpvOpFSub: return "SpvOpFSub"; 657 case SpvOpIMul: return "SpvOpIMul"; 658 case SpvOpFMul: return "SpvOpFMul"; 659 case SpvOpUDiv: return "SpvOpUDiv"; 660 case SpvOpSDiv: return "SpvOpSDiv"; 661 case SpvOpFDiv: return "SpvOpFDiv"; 662 case SpvOpUMod: return "SpvOpUMod"; 663 case SpvOpSRem: return "SpvOpSRem"; 664 case SpvOpSMod: return "SpvOpSMod"; 665 case SpvOpFRem: return "SpvOpFRem"; 666 case SpvOpFMod: return "SpvOpFMod"; 667 case SpvOpVectorTimesScalar: return "SpvOpVectorTimesScalar"; 668 case SpvOpMatrixTimesScalar: return "SpvOpMatrixTimesScalar"; 669 case SpvOpVectorTimesMatrix: return "SpvOpVectorTimesMatrix"; 670 case SpvOpMatrixTimesVector: return "SpvOpMatrixTimesVector"; 671 case SpvOpMatrixTimesMatrix: return "SpvOpMatrixTimesMatrix"; 672 case SpvOpOuterProduct: return "SpvOpOuterProduct"; 673 case SpvOpDot: return "SpvOpDot"; 674 case SpvOpIAddCarry: return "SpvOpIAddCarry"; 675 case SpvOpISubBorrow: return "SpvOpISubBorrow"; 676 case SpvOpUMulExtended: return "SpvOpUMulExtended"; 677 case SpvOpSMulExtended: return "SpvOpSMulExtended"; 678 case SpvOpAny: return "SpvOpAny"; 679 case SpvOpAll: return "SpvOpAll"; 680 case SpvOpIsNan: return "SpvOpIsNan"; 681 case SpvOpIsInf: return "SpvOpIsInf"; 682 case SpvOpIsFinite: return "SpvOpIsFinite"; 683 case SpvOpIsNormal: return "SpvOpIsNormal"; 684 case SpvOpSignBitSet: return "SpvOpSignBitSet"; 685 case SpvOpLessOrGreater: return "SpvOpLessOrGreater"; 686 case SpvOpOrdered: return "SpvOpOrdered"; 687 case SpvOpUnordered: return "SpvOpUnordered"; 688 case SpvOpLogicalEqual: return "SpvOpLogicalEqual"; 689 case SpvOpLogicalNotEqual: return "SpvOpLogicalNotEqual"; 690 case SpvOpLogicalOr: return "SpvOpLogicalOr"; 691 case SpvOpLogicalAnd: return "SpvOpLogicalAnd"; 692 case SpvOpLogicalNot: return "SpvOpLogicalNot"; 693 case SpvOpSelect: return "SpvOpSelect"; 694 case SpvOpIEqual: return "SpvOpIEqual"; 695 case SpvOpINotEqual: return "SpvOpINotEqual"; 696 case SpvOpUGreaterThan: return "SpvOpUGreaterThan"; 697 case SpvOpSGreaterThan: return "SpvOpSGreaterThan"; 698 case SpvOpUGreaterThanEqual: return "SpvOpUGreaterThanEqual"; 699 case SpvOpSGreaterThanEqual: return "SpvOpSGreaterThanEqual"; 700 case SpvOpULessThan: return "SpvOpULessThan"; 701 case SpvOpSLessThan: return "SpvOpSLessThan"; 702 case SpvOpULessThanEqual: return "SpvOpULessThanEqual"; 703 case SpvOpSLessThanEqual: return "SpvOpSLessThanEqual"; 704 case SpvOpFOrdEqual: return "SpvOpFOrdEqual"; 705 case SpvOpFUnordEqual: return "SpvOpFUnordEqual"; 706 case SpvOpFOrdNotEqual: return "SpvOpFOrdNotEqual"; 707 case SpvOpFUnordNotEqual: return "SpvOpFUnordNotEqual"; 708 case SpvOpFOrdLessThan: return "SpvOpFOrdLessThan"; 709 case SpvOpFUnordLessThan: return "SpvOpFUnordLessThan"; 710 case SpvOpFOrdGreaterThan: return "SpvOpFOrdGreaterThan"; 711 case SpvOpFUnordGreaterThan: return "SpvOpFUnordGreaterThan"; 712 case SpvOpFOrdLessThanEqual: return "SpvOpFOrdLessThanEqual"; 713 case SpvOpFUnordLessThanEqual: return "SpvOpFUnordLessThanEqual"; 714 case SpvOpFOrdGreaterThanEqual: return "SpvOpFOrdGreaterThanEqual"; 715 case SpvOpFUnordGreaterThanEqual: return "SpvOpFUnordGreaterThanEqual"; 716 case SpvOpShiftRightLogical: return "SpvOpShiftRightLogical"; 717 case SpvOpShiftRightArithmetic: return "SpvOpShiftRightArithmetic"; 718 case SpvOpShiftLeftLogical: return "SpvOpShiftLeftLogical"; 719 case SpvOpBitwiseOr: return "SpvOpBitwiseOr"; 720 case SpvOpBitwiseXor: return "SpvOpBitwiseXor"; 721 case SpvOpBitwiseAnd: return "SpvOpBitwiseAnd"; 722 case SpvOpNot: return "SpvOpNot"; 723 case SpvOpBitFieldInsert: return "SpvOpBitFieldInsert"; 724 case SpvOpBitFieldSExtract: return "SpvOpBitFieldSExtract"; 725 case SpvOpBitFieldUExtract: return "SpvOpBitFieldUExtract"; 726 case SpvOpBitReverse: return "SpvOpBitReverse"; 727 case SpvOpBitCount: return "SpvOpBitCount"; 728 case SpvOpDPdx: return "SpvOpDPdx"; 729 case SpvOpDPdy: return "SpvOpDPdy"; 730 case SpvOpFwidth: return "SpvOpFwidth"; 731 case SpvOpDPdxFine: return "SpvOpDPdxFine"; 732 case SpvOpDPdyFine: return "SpvOpDPdyFine"; 733 case SpvOpFwidthFine: return "SpvOpFwidthFine"; 734 case SpvOpDPdxCoarse: return "SpvOpDPdxCoarse"; 735 case SpvOpDPdyCoarse: return "SpvOpDPdyCoarse"; 736 case SpvOpFwidthCoarse: return "SpvOpFwidthCoarse"; 737 case SpvOpEmitVertex: return "SpvOpEmitVertex"; 738 case SpvOpEndPrimitive: return "SpvOpEndPrimitive"; 739 case SpvOpEmitStreamVertex: return "SpvOpEmitStreamVertex"; 740 case SpvOpEndStreamPrimitive: return "SpvOpEndStreamPrimitive"; 741 case SpvOpControlBarrier: return "SpvOpControlBarrier"; 742 case SpvOpMemoryBarrier: return "SpvOpMemoryBarrier"; 743 case SpvOpAtomicLoad: return "SpvOpAtomicLoad"; 744 case SpvOpAtomicStore: return "SpvOpAtomicStore"; 745 case SpvOpAtomicExchange: return "SpvOpAtomicExchange"; 746 case SpvOpAtomicCompareExchange: return "SpvOpAtomicCompareExchange"; 747 case SpvOpAtomicCompareExchangeWeak: return "SpvOpAtomicCompareExchangeWeak"; 748 case SpvOpAtomicIIncrement: return "SpvOpAtomicIIncrement"; 749 case SpvOpAtomicIDecrement: return "SpvOpAtomicIDecrement"; 750 case SpvOpAtomicIAdd: return "SpvOpAtomicIAdd"; 751 case SpvOpAtomicISub: return "SpvOpAtomicISub"; 752 case SpvOpAtomicSMin: return "SpvOpAtomicSMin"; 753 case SpvOpAtomicUMin: return "SpvOpAtomicUMin"; 754 case SpvOpAtomicSMax: return "SpvOpAtomicSMax"; 755 case SpvOpAtomicUMax: return "SpvOpAtomicUMax"; 756 case SpvOpAtomicAnd: return "SpvOpAtomicAnd"; 757 case SpvOpAtomicOr: return "SpvOpAtomicOr"; 758 case SpvOpAtomicXor: return "SpvOpAtomicXor"; 759 case SpvOpPhi: return "SpvOpPhi"; 760 case SpvOpLoopMerge: return "SpvOpLoopMerge"; 761 case SpvOpSelectionMerge: return "SpvOpSelectionMerge"; 762 case SpvOpLabel: return "SpvOpLabel"; 763 case SpvOpBranch: return "SpvOpBranch"; 764 case SpvOpBranchConditional: return "SpvOpBranchConditional"; 765 case SpvOpSwitch: return "SpvOpSwitch"; 766 case SpvOpKill: return "SpvOpKill"; 767 case SpvOpReturn: return "SpvOpReturn"; 768 case SpvOpReturnValue: return "SpvOpReturnValue"; 769 case SpvOpUnreachable: return "SpvOpUnreachable"; 770 case SpvOpLifetimeStart: return "SpvOpLifetimeStart"; 771 case SpvOpLifetimeStop: return "SpvOpLifetimeStop"; 772 case SpvOpGroupAsyncCopy: return "SpvOpGroupAsyncCopy"; 773 case SpvOpGroupWaitEvents: return "SpvOpGroupWaitEvents"; 774 case SpvOpGroupAll: return "SpvOpGroupAll"; 775 case SpvOpGroupAny: return "SpvOpGroupAny"; 776 case SpvOpGroupBroadcast: return "SpvOpGroupBroadcast"; 777 case SpvOpGroupIAdd: return "SpvOpGroupIAdd"; 778 case SpvOpGroupFAdd: return "SpvOpGroupFAdd"; 779 case SpvOpGroupFMin: return "SpvOpGroupFMin"; 780 case SpvOpGroupUMin: return "SpvOpGroupUMin"; 781 case SpvOpGroupSMin: return "SpvOpGroupSMin"; 782 case SpvOpGroupFMax: return "SpvOpGroupFMax"; 783 case SpvOpGroupUMax: return "SpvOpGroupUMax"; 784 case SpvOpGroupSMax: return "SpvOpGroupSMax"; 785 case SpvOpReadPipe: return "SpvOpReadPipe"; 786 case SpvOpWritePipe: return "SpvOpWritePipe"; 787 case SpvOpReservedReadPipe: return "SpvOpReservedReadPipe"; 788 case SpvOpReservedWritePipe: return "SpvOpReservedWritePipe"; 789 case SpvOpReserveReadPipePackets: return "SpvOpReserveReadPipePackets"; 790 case SpvOpReserveWritePipePackets: return "SpvOpReserveWritePipePackets"; 791 case SpvOpCommitReadPipe: return "SpvOpCommitReadPipe"; 792 case SpvOpCommitWritePipe: return "SpvOpCommitWritePipe"; 793 case SpvOpIsValidReserveId: return "SpvOpIsValidReserveId"; 794 case SpvOpGetNumPipePackets: return "SpvOpGetNumPipePackets"; 795 case SpvOpGetMaxPipePackets: return "SpvOpGetMaxPipePackets"; 796 case SpvOpGroupReserveReadPipePackets: return "SpvOpGroupReserveReadPipePackets"; 797 case SpvOpGroupReserveWritePipePackets: return "SpvOpGroupReserveWritePipePackets"; 798 case SpvOpGroupCommitReadPipe: return "SpvOpGroupCommitReadPipe"; 799 case SpvOpGroupCommitWritePipe: return "SpvOpGroupCommitWritePipe"; 800 case SpvOpEnqueueMarker: return "SpvOpEnqueueMarker"; 801 case SpvOpEnqueueKernel: return "SpvOpEnqueueKernel"; 802 case SpvOpGetKernelNDrangeSubGroupCount: return "SpvOpGetKernelNDrangeSubGroupCount"; 803 case SpvOpGetKernelNDrangeMaxSubGroupSize: return "SpvOpGetKernelNDrangeMaxSubGroupSize"; 804 case SpvOpGetKernelWorkGroupSize: return "SpvOpGetKernelWorkGroupSize"; 805 case SpvOpGetKernelPreferredWorkGroupSizeMultiple: return "SpvOpGetKernelPreferredWorkGroupSizeMultiple"; 806 case SpvOpRetainEvent: return "SpvOpRetainEvent"; 807 case SpvOpReleaseEvent: return "SpvOpReleaseEvent"; 808 case SpvOpCreateUserEvent: return "SpvOpCreateUserEvent"; 809 case SpvOpIsValidEvent: return "SpvOpIsValidEvent"; 810 case SpvOpSetUserEventStatus: return "SpvOpSetUserEventStatus"; 811 case SpvOpCaptureEventProfilingInfo: return "SpvOpCaptureEventProfilingInfo"; 812 case SpvOpGetDefaultQueue: return "SpvOpGetDefaultQueue"; 813 case SpvOpBuildNDRange: return "SpvOpBuildNDRange"; 814 case SpvOpImageSparseSampleImplicitLod: return "SpvOpImageSparseSampleImplicitLod"; 815 case SpvOpImageSparseSampleExplicitLod: return "SpvOpImageSparseSampleExplicitLod"; 816 case SpvOpImageSparseSampleDrefImplicitLod: return "SpvOpImageSparseSampleDrefImplicitLod"; 817 case SpvOpImageSparseSampleDrefExplicitLod: return "SpvOpImageSparseSampleDrefExplicitLod"; 818 case SpvOpImageSparseSampleProjImplicitLod: return "SpvOpImageSparseSampleProjImplicitLod"; 819 case SpvOpImageSparseSampleProjExplicitLod: return "SpvOpImageSparseSampleProjExplicitLod"; 820 case SpvOpImageSparseSampleProjDrefImplicitLod: return "SpvOpImageSparseSampleProjDrefImplicitLod"; 821 case SpvOpImageSparseSampleProjDrefExplicitLod: return "SpvOpImageSparseSampleProjDrefExplicitLod"; 822 case SpvOpImageSparseFetch: return "SpvOpImageSparseFetch"; 823 case SpvOpImageSparseGather: return "SpvOpImageSparseGather"; 824 case SpvOpImageSparseDrefGather: return "SpvOpImageSparseDrefGather"; 825 case SpvOpImageSparseTexelsResident: return "SpvOpImageSparseTexelsResident"; 826 case SpvOpNoLine: return "SpvOpNoLine"; 827 case SpvOpAtomicFlagTestAndSet: return "SpvOpAtomicFlagTestAndSet"; 828 case SpvOpAtomicFlagClear: return "SpvOpAtomicFlagClear"; 829 case SpvOpImageSparseRead: return "SpvOpImageSparseRead"; 830 case SpvOpSizeOf: return "SpvOpSizeOf"; 831 case SpvOpTypePipeStorage: return "SpvOpTypePipeStorage"; 832 case SpvOpConstantPipeStorage: return "SpvOpConstantPipeStorage"; 833 case SpvOpCreatePipeFromPipeStorage: return "SpvOpCreatePipeFromPipeStorage"; 834 case SpvOpGetKernelLocalSizeForSubgroupCount: return "SpvOpGetKernelLocalSizeForSubgroupCount"; 835 case SpvOpGetKernelMaxNumSubgroups: return "SpvOpGetKernelMaxNumSubgroups"; 836 case SpvOpTypeNamedBarrier: return "SpvOpTypeNamedBarrier"; 837 case SpvOpNamedBarrierInitialize: return "SpvOpNamedBarrierInitialize"; 838 case SpvOpMemoryNamedBarrier: return "SpvOpMemoryNamedBarrier"; 839 case SpvOpModuleProcessed: return "SpvOpModuleProcessed"; 840 case SpvOpExecutionModeId: return "SpvOpExecutionModeId"; 841 case SpvOpDecorateId: return "SpvOpDecorateId"; 842 case SpvOpGroupNonUniformElect: return "SpvOpGroupNonUniformElect"; 843 case SpvOpGroupNonUniformAll: return "SpvOpGroupNonUniformAll"; 844 case SpvOpGroupNonUniformAny: return "SpvOpGroupNonUniformAny"; 845 case SpvOpGroupNonUniformAllEqual: return "SpvOpGroupNonUniformAllEqual"; 846 case SpvOpGroupNonUniformBroadcast: return "SpvOpGroupNonUniformBroadcast"; 847 case SpvOpGroupNonUniformBroadcastFirst: return "SpvOpGroupNonUniformBroadcastFirst"; 848 case SpvOpGroupNonUniformBallot: return "SpvOpGroupNonUniformBallot"; 849 case SpvOpGroupNonUniformInverseBallot: return "SpvOpGroupNonUniformInverseBallot"; 850 case SpvOpGroupNonUniformBallotBitExtract: return "SpvOpGroupNonUniformBallotBitExtract"; 851 case SpvOpGroupNonUniformBallotBitCount: return "SpvOpGroupNonUniformBallotBitCount"; 852 case SpvOpGroupNonUniformBallotFindLSB: return "SpvOpGroupNonUniformBallotFindLSB"; 853 case SpvOpGroupNonUniformBallotFindMSB: return "SpvOpGroupNonUniformBallotFindMSB"; 854 case SpvOpGroupNonUniformShuffle: return "SpvOpGroupNonUniformShuffle"; 855 case SpvOpGroupNonUniformShuffleXor: return "SpvOpGroupNonUniformShuffleXor"; 856 case SpvOpGroupNonUniformShuffleUp: return "SpvOpGroupNonUniformShuffleUp"; 857 case SpvOpGroupNonUniformShuffleDown: return "SpvOpGroupNonUniformShuffleDown"; 858 case SpvOpGroupNonUniformIAdd: return "SpvOpGroupNonUniformIAdd"; 859 case SpvOpGroupNonUniformFAdd: return "SpvOpGroupNonUniformFAdd"; 860 case SpvOpGroupNonUniformIMul: return "SpvOpGroupNonUniformIMul"; 861 case SpvOpGroupNonUniformFMul: return "SpvOpGroupNonUniformFMul"; 862 case SpvOpGroupNonUniformSMin: return "SpvOpGroupNonUniformSMin"; 863 case SpvOpGroupNonUniformUMin: return "SpvOpGroupNonUniformUMin"; 864 case SpvOpGroupNonUniformFMin: return "SpvOpGroupNonUniformFMin"; 865 case SpvOpGroupNonUniformSMax: return "SpvOpGroupNonUniformSMax"; 866 case SpvOpGroupNonUniformUMax: return "SpvOpGroupNonUniformUMax"; 867 case SpvOpGroupNonUniformFMax: return "SpvOpGroupNonUniformFMax"; 868 case SpvOpGroupNonUniformBitwiseAnd: return "SpvOpGroupNonUniformBitwiseAnd"; 869 case SpvOpGroupNonUniformBitwiseOr: return "SpvOpGroupNonUniformBitwiseOr"; 870 case SpvOpGroupNonUniformBitwiseXor: return "SpvOpGroupNonUniformBitwiseXor"; 871 case SpvOpGroupNonUniformLogicalAnd: return "SpvOpGroupNonUniformLogicalAnd"; 872 case SpvOpGroupNonUniformLogicalOr: return "SpvOpGroupNonUniformLogicalOr"; 873 case SpvOpGroupNonUniformLogicalXor: return "SpvOpGroupNonUniformLogicalXor"; 874 case SpvOpGroupNonUniformQuadBroadcast: return "SpvOpGroupNonUniformQuadBroadcast"; 875 case SpvOpGroupNonUniformQuadSwap: return "SpvOpGroupNonUniformQuadSwap"; 876 case SpvOpSubgroupBallotKHR: return "SpvOpSubgroupBallotKHR"; 877 case SpvOpSubgroupFirstInvocationKHR: return "SpvOpSubgroupFirstInvocationKHR"; 878 case SpvOpSubgroupAllKHR: return "SpvOpSubgroupAllKHR"; 879 case SpvOpSubgroupAnyKHR: return "SpvOpSubgroupAnyKHR"; 880 case SpvOpSubgroupAllEqualKHR: return "SpvOpSubgroupAllEqualKHR"; 881 case SpvOpSubgroupReadInvocationKHR: return "SpvOpSubgroupReadInvocationKHR"; 882 case SpvOpGroupIAddNonUniformAMD: return "SpvOpGroupIAddNonUniformAMD"; 883 case SpvOpGroupFAddNonUniformAMD: return "SpvOpGroupFAddNonUniformAMD"; 884 case SpvOpGroupFMinNonUniformAMD: return "SpvOpGroupFMinNonUniformAMD"; 885 case SpvOpGroupUMinNonUniformAMD: return "SpvOpGroupUMinNonUniformAMD"; 886 case SpvOpGroupSMinNonUniformAMD: return "SpvOpGroupSMinNonUniformAMD"; 887 case SpvOpGroupFMaxNonUniformAMD: return "SpvOpGroupFMaxNonUniformAMD"; 888 case SpvOpGroupUMaxNonUniformAMD: return "SpvOpGroupUMaxNonUniformAMD"; 889 case SpvOpGroupSMaxNonUniformAMD: return "SpvOpGroupSMaxNonUniformAMD"; 890 case SpvOpFragmentMaskFetchAMD: return "SpvOpFragmentMaskFetchAMD"; 891 case SpvOpFragmentFetchAMD: return "SpvOpFragmentFetchAMD"; 892 case SpvOpWritePackedPrimitiveIndices4x8NV: return "SpvOpWritePackedPrimitiveIndices4x8NV"; 893 case SpvOpReportIntersectionNV: return "SpvOpReportIntersectionNV"; 894 case SpvOpIgnoreIntersectionNV: return "SpvOpIgnoreIntersectionNV"; 895 case SpvOpTerminateRayNV: return "SpvOpTerminateRayNV"; 896 case SpvOpTraceNV: return "SpvOpTraceNV"; 897 case SpvOpTypeAccelerationStructureNV: return "SpvOpTypeAccelerationStructureNV"; 898 case SpvOpExecuteCallableNV: return "SpvOpExecuteCallableNV"; 899 case SpvOpSubgroupShuffleINTEL: return "SpvOpSubgroupShuffleINTEL"; 900 case SpvOpSubgroupShuffleDownINTEL: return "SpvOpSubgroupShuffleDownINTEL"; 901 case SpvOpSubgroupShuffleUpINTEL: return "SpvOpSubgroupShuffleUpINTEL"; 902 case SpvOpSubgroupShuffleXorINTEL: return "SpvOpSubgroupShuffleXorINTEL"; 903 case SpvOpSubgroupBlockReadINTEL: return "SpvOpSubgroupBlockReadINTEL"; 904 case SpvOpSubgroupBlockWriteINTEL: return "SpvOpSubgroupBlockWriteINTEL"; 905 case SpvOpSubgroupImageBlockReadINTEL: return "SpvOpSubgroupImageBlockReadINTEL"; 906 case SpvOpSubgroupImageBlockWriteINTEL: return "SpvOpSubgroupImageBlockWriteINTEL"; 907 case SpvOpDecorateStringGOOGLE: return "SpvOpDecorateStringGOOGLE"; 908 case SpvOpMemberDecorateStringGOOGLE: return "SpvOpMemberDecorateStringGOOGLE"; 909 case SpvOpGroupNonUniformPartitionNV: return "SpvOpGroupNonUniformPartitionNV"; 910 case SpvOpImageSampleFootprintNV: return "SpvOpImageSampleFootprintNV"; 911 case SpvOpMax: break; /* silence warnings about unhandled enums. */ 912 } 913 914 return "unknown"; 915} 916