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