• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===- SPIRVNameMapEnum.h - SPIR-V NameMap enums ----------------*- C++ -*-===//
2 //
3 //                     The LLVM/SPIRV Translator
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 // Copyright (c) 2014 Advanced Micro Devices, Inc. All rights reserved.
9 //
10 // Permission is hereby granted, free of charge, to any person obtaining a
11 // copy of this software and associated documentation files (the "Software"),
12 // to deal with the Software without restriction, including without limitation
13 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
14 // and/or sell copies of the Software, and to permit persons to whom the
15 // Software is furnished to do so, subject to the following conditions:
16 //
17 // Redistributions of source code must retain the above copyright notice,
18 // this list of conditions and the following disclaimers.
19 // Redistributions in binary form must reproduce the above copyright notice,
20 // this list of conditions and the following disclaimers in the documentation
21 // and/or other materials provided with the distribution.
22 // Neither the names of Advanced Micro Devices, Inc., nor the names of its
23 // contributors may be used to endorse or promote products derived from this
24 // Software without specific prior written permission.
25 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
28 // CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
29 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
30 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
31 // THE SOFTWARE.
32 //
33 //===----------------------------------------------------------------------===//
34 /// \file
35 ///
36 /// This file defines SPIR-V NameMap enums.
37 ///
38 //===----------------------------------------------------------------------===//
39 // WARNING:
40 //
41 // This file has been generated using `tools/spirv-tool/gen_spirv.bash` and
42 // should not be modified manually. If the file needs to be updated, edit the
43 // script and any other source file instead, before re-generating this file.
44 //===----------------------------------------------------------------------===//
45 
46 #ifndef SPIRVNAMEMAPENUM_H_
47 #define SPIRVNAMEMAPENUM_H_
48 
49 #include "spirv.hpp"
50 #include "SPIRVEnum.h"
51 
52 using namespace spv;
53 
54 namespace SPIRV {
55 
56 template<> inline void
init()57 SPIRVMap<SourceLanguage, std::string>::init() {
58   add(SourceLanguageUnknown, "Unknown");
59   add(SourceLanguageESSL, "ESSL");
60   add(SourceLanguageGLSL, "GLSL");
61   add(SourceLanguageOpenCL_C, "OpenCL_C");
62   add(SourceLanguageOpenCL_CPP, "OpenCL_CPP");
63 }
SPIRV_DEF_NAMEMAP(SourceLanguage,SPIRVSourceLanguageNameMap)64 SPIRV_DEF_NAMEMAP(SourceLanguage, SPIRVSourceLanguageNameMap)
65 
66 template<> inline void
67 SPIRVMap<ExecutionModel, std::string>::init() {
68   add(ExecutionModelVertex, "Vertex");
69   add(ExecutionModelTessellationControl, "TessellationControl");
70   add(ExecutionModelTessellationEvaluation, "TessellationEvaluation");
71   add(ExecutionModelGeometry, "Geometry");
72   add(ExecutionModelFragment, "Fragment");
73   add(ExecutionModelGLCompute, "GLCompute");
74   add(ExecutionModelKernel, "Kernel");
75 }
SPIRV_DEF_NAMEMAP(ExecutionModel,SPIRVExecutionModelNameMap)76 SPIRV_DEF_NAMEMAP(ExecutionModel, SPIRVExecutionModelNameMap)
77 
78 template<> inline void
79 SPIRVMap<AddressingModel, std::string>::init() {
80   add(AddressingModelLogical, "Logical");
81   add(AddressingModelPhysical32, "Physical32");
82   add(AddressingModelPhysical64, "Physical64");
83 }
SPIRV_DEF_NAMEMAP(AddressingModel,SPIRVAddressingModelNameMap)84 SPIRV_DEF_NAMEMAP(AddressingModel, SPIRVAddressingModelNameMap)
85 
86 template<> inline void
87 SPIRVMap<MemoryModel, std::string>::init() {
88   add(MemoryModelSimple, "Simple");
89   add(MemoryModelGLSL450, "GLSL450");
90   add(MemoryModelOpenCL, "OpenCL");
91 }
SPIRV_DEF_NAMEMAP(MemoryModel,SPIRVMemoryModelNameMap)92 SPIRV_DEF_NAMEMAP(MemoryModel, SPIRVMemoryModelNameMap)
93 
94 template<> inline void
95 SPIRVMap<ExecutionMode, std::string>::init() {
96   add(ExecutionModeInvocations, "Invocations");
97   add(ExecutionModeSpacingEqual, "SpacingEqual");
98   add(ExecutionModeSpacingFractionalEven, "SpacingFractionalEven");
99   add(ExecutionModeSpacingFractionalOdd, "SpacingFractionalOdd");
100   add(ExecutionModeVertexOrderCw, "VertexOrderCw");
101   add(ExecutionModeVertexOrderCcw, "VertexOrderCcw");
102   add(ExecutionModePixelCenterInteger, "PixelCenterInteger");
103   add(ExecutionModeOriginUpperLeft, "OriginUpperLeft");
104   add(ExecutionModeOriginLowerLeft, "OriginLowerLeft");
105   add(ExecutionModeEarlyFragmentTests, "EarlyFragmentTests");
106   add(ExecutionModePointMode, "PointMode");
107   add(ExecutionModeXfb, "Xfb");
108   add(ExecutionModeDepthReplacing, "DepthReplacing");
109   add(ExecutionModeDepthGreater, "DepthGreater");
110   add(ExecutionModeDepthLess, "DepthLess");
111   add(ExecutionModeDepthUnchanged, "DepthUnchanged");
112   add(ExecutionModeLocalSize, "LocalSize");
113   add(ExecutionModeLocalSizeHint, "LocalSizeHint");
114   add(ExecutionModeInputPoints, "InputPoints");
115   add(ExecutionModeInputLines, "InputLines");
116   add(ExecutionModeInputLinesAdjacency, "InputLinesAdjacency");
117   add(ExecutionModeTriangles, "Triangles");
118   add(ExecutionModeInputTrianglesAdjacency, "InputTrianglesAdjacency");
119   add(ExecutionModeQuads, "Quads");
120   add(ExecutionModeIsolines, "Isolines");
121   add(ExecutionModeOutputVertices, "OutputVertices");
122   add(ExecutionModeOutputPoints, "OutputPoints");
123   add(ExecutionModeOutputLineStrip, "OutputLineStrip");
124   add(ExecutionModeOutputTriangleStrip, "OutputTriangleStrip");
125   add(ExecutionModeVecTypeHint, "VecTypeHint");
126   add(ExecutionModeContractionOff, "ContractionOff");
127 }
SPIRV_DEF_NAMEMAP(ExecutionMode,SPIRVExecutionModeNameMap)128 SPIRV_DEF_NAMEMAP(ExecutionMode, SPIRVExecutionModeNameMap)
129 
130 template<> inline void
131 SPIRVMap<StorageClass, std::string>::init() {
132   add(StorageClassUniformConstant, "UniformConstant");
133   add(StorageClassInput, "Input");
134   add(StorageClassUniform, "Uniform");
135   add(StorageClassOutput, "Output");
136   add(StorageClassWorkgroup, "Workgroup");
137   add(StorageClassCrossWorkgroup, "CrossWorkgroup");
138   add(StorageClassPrivate, "Private");
139   add(StorageClassFunction, "Function");
140   add(StorageClassGeneric, "Generic");
141   add(StorageClassPushConstant, "PushConstant");
142   add(StorageClassAtomicCounter, "AtomicCounter");
143   add(StorageClassImage, "Image");
144 }
SPIRV_DEF_NAMEMAP(StorageClass,SPIRVStorageClassNameMap)145 SPIRV_DEF_NAMEMAP(StorageClass, SPIRVStorageClassNameMap)
146 
147 template<> inline void
148 SPIRVMap<Dim, std::string>::init() {
149   add(Dim1D, "1D");
150   add(Dim2D, "2D");
151   add(Dim3D, "3D");
152   add(DimCube, "Cube");
153   add(DimRect, "Rect");
154   add(DimBuffer, "Buffer");
155   add(DimSubpassData, "SubpassData");
156 }
SPIRV_DEF_NAMEMAP(Dim,SPIRVDimNameMap)157 SPIRV_DEF_NAMEMAP(Dim, SPIRVDimNameMap)
158 
159 template<> inline void
160 SPIRVMap<SamplerAddressingMode, std::string>::init() {
161   add(SamplerAddressingModeNone, "None");
162   add(SamplerAddressingModeClampToEdge, "ClampToEdge");
163   add(SamplerAddressingModeClamp, "Clamp");
164   add(SamplerAddressingModeRepeat, "Repeat");
165   add(SamplerAddressingModeRepeatMirrored, "RepeatMirrored");
166 }
SPIRV_DEF_NAMEMAP(SamplerAddressingMode,SPIRVSamplerAddressingModeNameMap)167 SPIRV_DEF_NAMEMAP(SamplerAddressingMode, SPIRVSamplerAddressingModeNameMap)
168 
169 template<> inline void
170 SPIRVMap<SamplerFilterMode, std::string>::init() {
171   add(SamplerFilterModeNearest, "Nearest");
172   add(SamplerFilterModeLinear, "Linear");
173 }
SPIRV_DEF_NAMEMAP(SamplerFilterMode,SPIRVSamplerFilterModeNameMap)174 SPIRV_DEF_NAMEMAP(SamplerFilterMode, SPIRVSamplerFilterModeNameMap)
175 
176 template<> inline void
177 SPIRVMap<ImageFormat, std::string>::init() {
178   add(ImageFormatUnknown, "Unknown");
179   add(ImageFormatRgba32f, "Rgba32f");
180   add(ImageFormatRgba16f, "Rgba16f");
181   add(ImageFormatR32f, "R32f");
182   add(ImageFormatRgba8, "Rgba8");
183   add(ImageFormatRgba8Snorm, "Rgba8Snorm");
184   add(ImageFormatRg32f, "Rg32f");
185   add(ImageFormatRg16f, "Rg16f");
186   add(ImageFormatR11fG11fB10f, "R11fG11fB10f");
187   add(ImageFormatR16f, "R16f");
188   add(ImageFormatRgba16, "Rgba16");
189   add(ImageFormatRgb10A2, "Rgb10A2");
190   add(ImageFormatRg16, "Rg16");
191   add(ImageFormatRg8, "Rg8");
192   add(ImageFormatR16, "R16");
193   add(ImageFormatR8, "R8");
194   add(ImageFormatRgba16Snorm, "Rgba16Snorm");
195   add(ImageFormatRg16Snorm, "Rg16Snorm");
196   add(ImageFormatRg8Snorm, "Rg8Snorm");
197   add(ImageFormatR16Snorm, "R16Snorm");
198   add(ImageFormatR8Snorm, "R8Snorm");
199   add(ImageFormatRgba32i, "Rgba32i");
200   add(ImageFormatRgba16i, "Rgba16i");
201   add(ImageFormatRgba8i, "Rgba8i");
202   add(ImageFormatR32i, "R32i");
203   add(ImageFormatRg32i, "Rg32i");
204   add(ImageFormatRg16i, "Rg16i");
205   add(ImageFormatRg8i, "Rg8i");
206   add(ImageFormatR16i, "R16i");
207   add(ImageFormatR8i, "R8i");
208   add(ImageFormatRgba32ui, "Rgba32ui");
209   add(ImageFormatRgba16ui, "Rgba16ui");
210   add(ImageFormatRgba8ui, "Rgba8ui");
211   add(ImageFormatR32ui, "R32ui");
212   add(ImageFormatRgb10a2ui, "Rgb10a2ui");
213   add(ImageFormatRg32ui, "Rg32ui");
214   add(ImageFormatRg16ui, "Rg16ui");
215   add(ImageFormatRg8ui, "Rg8ui");
216   add(ImageFormatR16ui, "R16ui");
217   add(ImageFormatR8ui, "R8ui");
218 }
SPIRV_DEF_NAMEMAP(ImageFormat,SPIRVImageFormatNameMap)219 SPIRV_DEF_NAMEMAP(ImageFormat, SPIRVImageFormatNameMap)
220 
221 template<> inline void
222 SPIRVMap<ImageChannelOrder, std::string>::init() {
223   add(ImageChannelOrderR, "R");
224   add(ImageChannelOrderA, "A");
225   add(ImageChannelOrderRG, "RG");
226   add(ImageChannelOrderRA, "RA");
227   add(ImageChannelOrderRGB, "RGB");
228   add(ImageChannelOrderRGBA, "RGBA");
229   add(ImageChannelOrderBGRA, "BGRA");
230   add(ImageChannelOrderARGB, "ARGB");
231   add(ImageChannelOrderIntensity, "Intensity");
232   add(ImageChannelOrderLuminance, "Luminance");
233   add(ImageChannelOrderRx, "Rx");
234   add(ImageChannelOrderRGx, "RGx");
235   add(ImageChannelOrderRGBx, "RGBx");
236   add(ImageChannelOrderDepth, "Depth");
237   add(ImageChannelOrderDepthStencil, "DepthStencil");
238 }
SPIRV_DEF_NAMEMAP(ImageChannelOrder,SPIRVImageChannelOrderNameMap)239 SPIRV_DEF_NAMEMAP(ImageChannelOrder, SPIRVImageChannelOrderNameMap)
240 
241 template<> inline void
242 SPIRVMap<ImageChannelDataType, std::string>::init() {
243   add(ImageChannelDataTypeSnormInt8, "SnormInt8");
244   add(ImageChannelDataTypeSnormInt16, "SnormInt16");
245   add(ImageChannelDataTypeUnormInt8, "UnormInt8");
246   add(ImageChannelDataTypeUnormInt16, "UnormInt16");
247   add(ImageChannelDataTypeUnormShort565, "UnormShort565");
248   add(ImageChannelDataTypeUnormShort555, "UnormShort555");
249   add(ImageChannelDataTypeUnormInt101010, "UnormInt101010");
250   add(ImageChannelDataTypeSignedInt8, "SignedInt8");
251   add(ImageChannelDataTypeSignedInt16, "SignedInt16");
252   add(ImageChannelDataTypeSignedInt32, "SignedInt32");
253   add(ImageChannelDataTypeUnsignedInt8, "UnsignedInt8");
254   add(ImageChannelDataTypeUnsignedInt16, "UnsignedInt16");
255   add(ImageChannelDataTypeUnsignedInt32, "UnsignedInt32");
256   add(ImageChannelDataTypeHalfFloat, "HalfFloat");
257   add(ImageChannelDataTypeFloat, "Float");
258   add(ImageChannelDataTypeUnormInt24, "UnormInt24");
259   add(ImageChannelDataTypeUnormInt101010_2, "UnormInt101010_2");
260 }
SPIRV_DEF_NAMEMAP(ImageChannelDataType,SPIRVImageChannelDataTypeNameMap)261 SPIRV_DEF_NAMEMAP(ImageChannelDataType, SPIRVImageChannelDataTypeNameMap)
262 
263 template<> inline void
264 SPIRVMap<FPRoundingMode, std::string>::init() {
265   add(FPRoundingModeRTE, "RTE");
266   add(FPRoundingModeRTZ, "RTZ");
267   add(FPRoundingModeRTP, "RTP");
268   add(FPRoundingModeRTN, "RTN");
269 }
SPIRV_DEF_NAMEMAP(FPRoundingMode,SPIRVFPRoundingModeNameMap)270 SPIRV_DEF_NAMEMAP(FPRoundingMode, SPIRVFPRoundingModeNameMap)
271 
272 template<> inline void
273 SPIRVMap<LinkageType, std::string>::init() {
274   add(LinkageTypeExport, "Export");
275   add(LinkageTypeImport, "Import");
276   add(LinkageTypeInternal, "Internal");
277 }
SPIRV_DEF_NAMEMAP(LinkageType,SPIRVLinkageTypeNameMap)278 SPIRV_DEF_NAMEMAP(LinkageType, SPIRVLinkageTypeNameMap)
279 
280 template<> inline void
281 SPIRVMap<AccessQualifier, std::string>::init() {
282   add(AccessQualifierReadOnly, "ReadOnly");
283   add(AccessQualifierWriteOnly, "WriteOnly");
284   add(AccessQualifierReadWrite, "ReadWrite");
285 }
SPIRV_DEF_NAMEMAP(AccessQualifier,SPIRVAccessQualifierNameMap)286 SPIRV_DEF_NAMEMAP(AccessQualifier, SPIRVAccessQualifierNameMap)
287 
288 template<> inline void
289 SPIRVMap<FunctionParameterAttribute, std::string>::init() {
290   add(FunctionParameterAttributeZext, "Zext");
291   add(FunctionParameterAttributeSext, "Sext");
292   add(FunctionParameterAttributeByVal, "ByVal");
293   add(FunctionParameterAttributeSret, "Sret");
294   add(FunctionParameterAttributeNoAlias, "NoAlias");
295   add(FunctionParameterAttributeNoCapture, "NoCapture");
296   add(FunctionParameterAttributeNoWrite, "NoWrite");
297   add(FunctionParameterAttributeNoReadWrite, "NoReadWrite");
298 }
SPIRV_DEF_NAMEMAP(FunctionParameterAttribute,SPIRVFunctionParameterAttributeNameMap)299 SPIRV_DEF_NAMEMAP(FunctionParameterAttribute, SPIRVFunctionParameterAttributeNameMap)
300 
301 template<> inline void
302 SPIRVMap<Decoration, std::string>::init() {
303   add(DecorationRelaxedPrecision, "RelaxedPrecision");
304   add(DecorationSpecId, "SpecId");
305   add(DecorationBlock, "Block");
306   add(DecorationBufferBlock, "BufferBlock");
307   add(DecorationRowMajor, "RowMajor");
308   add(DecorationColMajor, "ColMajor");
309   add(DecorationArrayStride, "ArrayStride");
310   add(DecorationMatrixStride, "MatrixStride");
311   add(DecorationGLSLShared, "GLSLShared");
312   add(DecorationGLSLPacked, "GLSLPacked");
313   add(DecorationCPacked, "CPacked");
314   add(DecorationBuiltIn, "BuiltIn");
315   add(DecorationNoPerspective, "NoPerspective");
316   add(DecorationFlat, "Flat");
317   add(DecorationPatch, "Patch");
318   add(DecorationCentroid, "Centroid");
319   add(DecorationSample, "Sample");
320   add(DecorationInvariant, "Invariant");
321   add(DecorationRestrict, "Restrict");
322   add(DecorationAliased, "Aliased");
323   add(DecorationVolatile, "Volatile");
324   add(DecorationConstant, "Constant");
325   add(DecorationCoherent, "Coherent");
326   add(DecorationNonWritable, "NonWritable");
327   add(DecorationNonReadable, "NonReadable");
328   add(DecorationUniform, "Uniform");
329   add(DecorationSaturatedConversion, "SaturatedConversion");
330   add(DecorationStream, "Stream");
331   add(DecorationLocation, "Location");
332   add(DecorationComponent, "Component");
333   add(DecorationIndex, "Index");
334   add(DecorationBinding, "Binding");
335   add(DecorationDescriptorSet, "DescriptorSet");
336   add(DecorationOffset, "Offset");
337   add(DecorationXfbBuffer, "XfbBuffer");
338   add(DecorationXfbStride, "XfbStride");
339   add(DecorationFuncParamAttr, "FuncParamAttr");
340   add(DecorationFPRoundingMode, "FPRoundingMode");
341   add(DecorationFPFastMathMode, "FPFastMathMode");
342   add(DecorationLinkageAttributes, "LinkageAttributes");
343   add(DecorationNoContraction, "NoContraction");
344   add(DecorationInputAttachmentIndex, "InputAttachmentIndex");
345   add(DecorationAlignment, "Alignment");
346   add(DecorationMaxByteOffset, "MaxByteOffset");
347 }
SPIRV_DEF_NAMEMAP(Decoration,SPIRVDecorationNameMap)348 SPIRV_DEF_NAMEMAP(Decoration, SPIRVDecorationNameMap)
349 
350 template<> inline void
351 SPIRVMap<BuiltIn, std::string>::init() {
352   add(BuiltInPosition, "BuiltInPosition");
353   add(BuiltInPointSize, "BuiltInPointSize");
354   add(BuiltInClipDistance, "BuiltInClipDistance");
355   add(BuiltInCullDistance, "BuiltInCullDistance");
356   add(BuiltInVertexId, "BuiltInVertexId");
357   add(BuiltInInstanceId, "BuiltInInstanceId");
358   add(BuiltInPrimitiveId, "BuiltInPrimitiveId");
359   add(BuiltInInvocationId, "BuiltInInvocationId");
360   add(BuiltInLayer, "BuiltInLayer");
361   add(BuiltInViewportIndex, "BuiltInViewportIndex");
362   add(BuiltInTessLevelOuter, "BuiltInTessLevelOuter");
363   add(BuiltInTessLevelInner, "BuiltInTessLevelInner");
364   add(BuiltInTessCoord, "BuiltInTessCoord");
365   add(BuiltInPatchVertices, "BuiltInPatchVertices");
366   add(BuiltInFragCoord, "BuiltInFragCoord");
367   add(BuiltInPointCoord, "BuiltInPointCoord");
368   add(BuiltInFrontFacing, "BuiltInFrontFacing");
369   add(BuiltInSampleId, "BuiltInSampleId");
370   add(BuiltInSamplePosition, "BuiltInSamplePosition");
371   add(BuiltInSampleMask, "BuiltInSampleMask");
372   add(BuiltInFragDepth, "BuiltInFragDepth");
373   add(BuiltInHelperInvocation, "BuiltInHelperInvocation");
374   add(BuiltInNumWorkgroups, "BuiltInNumWorkgroups");
375   add(BuiltInWorkgroupSize, "BuiltInWorkgroupSize");
376   add(BuiltInWorkgroupId, "BuiltInWorkgroupId");
377   add(BuiltInLocalInvocationId, "BuiltInLocalInvocationId");
378   add(BuiltInGlobalInvocationId, "BuiltInGlobalInvocationId");
379   add(BuiltInLocalInvocationIndex, "BuiltInLocalInvocationIndex");
380   add(BuiltInWorkDim, "BuiltInWorkDim");
381   add(BuiltInGlobalSize, "BuiltInGlobalSize");
382   add(BuiltInEnqueuedWorkgroupSize, "BuiltInEnqueuedWorkgroupSize");
383   add(BuiltInGlobalOffset, "BuiltInGlobalOffset");
384   add(BuiltInGlobalLinearId, "BuiltInGlobalLinearId");
385   add(BuiltInSubgroupSize, "BuiltInSubgroupSize");
386   add(BuiltInSubgroupMaxSize, "BuiltInSubgroupMaxSize");
387   add(BuiltInNumSubgroups, "BuiltInNumSubgroups");
388   add(BuiltInNumEnqueuedSubgroups, "BuiltInNumEnqueuedSubgroups");
389   add(BuiltInSubgroupId, "BuiltInSubgroupId");
390   add(BuiltInSubgroupLocalInvocationId, "BuiltInSubgroupLocalInvocationId");
391   add(BuiltInVertexIndex, "BuiltInVertexIndex");
392   add(BuiltInInstanceIndex, "BuiltInInstanceIndex");
393 }
SPIRV_DEF_NAMEMAP(BuiltIn,SPIRVBuiltInNameMap)394 SPIRV_DEF_NAMEMAP(BuiltIn, SPIRVBuiltInNameMap)
395 
396 template<> inline void
397 SPIRVMap<Scope, std::string>::init() {
398   add(ScopeCrossDevice, "CrossDevice");
399   add(ScopeDevice, "Device");
400   add(ScopeWorkgroup, "Workgroup");
401   add(ScopeSubgroup, "Subgroup");
402   add(ScopeInvocation, "Invocation");
403 }
SPIRV_DEF_NAMEMAP(Scope,SPIRVScopeNameMap)404 SPIRV_DEF_NAMEMAP(Scope, SPIRVScopeNameMap)
405 
406 template<> inline void
407 SPIRVMap<GroupOperation, std::string>::init() {
408   add(GroupOperationReduce, "Reduce");
409   add(GroupOperationInclusiveScan, "InclusiveScan");
410   add(GroupOperationExclusiveScan, "ExclusiveScan");
411 }
SPIRV_DEF_NAMEMAP(GroupOperation,SPIRVGroupOperationNameMap)412 SPIRV_DEF_NAMEMAP(GroupOperation, SPIRVGroupOperationNameMap)
413 
414 template<> inline void
415 SPIRVMap<KernelEnqueueFlags, std::string>::init() {
416   add(KernelEnqueueFlagsNoWait, "NoWait");
417   add(KernelEnqueueFlagsWaitKernel, "WaitKernel");
418   add(KernelEnqueueFlagsWaitWorkGroup, "WaitWorkGroup");
419 }
SPIRV_DEF_NAMEMAP(KernelEnqueueFlags,SPIRVKernelEnqueueFlagsNameMap)420 SPIRV_DEF_NAMEMAP(KernelEnqueueFlags, SPIRVKernelEnqueueFlagsNameMap)
421 
422 template<> inline void
423 SPIRVMap<Capability, std::string>::init() {
424   add(CapabilityMatrix, "Matrix");
425   add(CapabilityShader, "Shader");
426   add(CapabilityGeometry, "Geometry");
427   add(CapabilityTessellation, "Tessellation");
428   add(CapabilityAddresses, "Addresses");
429   add(CapabilityLinkage, "Linkage");
430   add(CapabilityKernel, "Kernel");
431   add(CapabilityVector16, "Vector16");
432   add(CapabilityFloat16Buffer, "Float16Buffer");
433   add(CapabilityFloat16, "Float16");
434   add(CapabilityFloat64, "Float64");
435   add(CapabilityInt64, "Int64");
436   add(CapabilityInt64Atomics, "Int64Atomics");
437   add(CapabilityImageBasic, "ImageBasic");
438   add(CapabilityImageReadWrite, "ImageReadWrite");
439   add(CapabilityImageMipmap, "ImageMipmap");
440   add(CapabilityPipes, "Pipes");
441   add(CapabilityPipeStorage, "PipeStorage");
442   add(CapabilityGroups, "Groups");
443   add(CapabilityDeviceEnqueue, "DeviceEnqueue");
444   add(CapabilityLiteralSampler, "LiteralSampler");
445   add(CapabilityAtomicStorage, "AtomicStorage");
446   add(CapabilityInt16, "Int16");
447   add(CapabilityTessellationPointSize, "TessellationPointSize");
448   add(CapabilityGeometryPointSize, "GeometryPointSize");
449   add(CapabilityImageGatherExtended, "ImageGatherExtended");
450   add(CapabilityStorageImageMultisample, "StorageImageMultisample");
451   add(CapabilityUniformBufferArrayDynamicIndexing, "UniformBufferArrayDynamicIndexing");
452   add(CapabilitySampledImageArrayDynamicIndexing, "SampledImageArrayDynamicIndexing");
453   add(CapabilityStorageBufferArrayDynamicIndexing, "StorageBufferArrayDynamicIndexing");
454   add(CapabilityStorageImageArrayDynamicIndexing, "StorageImageArrayDynamicIndexing");
455   add(CapabilityClipDistance, "ClipDistance");
456   add(CapabilityCullDistance, "CullDistance");
457   add(CapabilityImageCubeArray, "ImageCubeArray");
458   add(CapabilitySampleRateShading, "SampleRateShading");
459   add(CapabilityImageRect, "ImageRect");
460   add(CapabilitySampledRect, "SampledRect");
461   add(CapabilityGenericPointer, "GenericPointer");
462   add(CapabilityInt8, "Int8");
463   add(CapabilityInputAttachment, "InputAttachment");
464   add(CapabilitySparseResidency, "SparseResidency");
465   add(CapabilityMinLod, "MinLod");
466   add(CapabilitySampled1D, "Sampled1D");
467   add(CapabilityImage1D, "Image1D");
468   add(CapabilitySampledCubeArray, "SampledCubeArray");
469   add(CapabilitySampledBuffer, "SampledBuffer");
470   add(CapabilityImageBuffer, "ImageBuffer");
471   add(CapabilityImageMSArray, "ImageMSArray");
472   add(CapabilityStorageImageExtendedFormats, "StorageImageExtendedFormats");
473   add(CapabilityImageQuery, "ImageQuery");
474   add(CapabilityDerivativeControl, "DerivativeControl");
475   add(CapabilityInterpolationFunction, "InterpolationFunction");
476   add(CapabilityTransformFeedback, "TransformFeedback");
477   add(CapabilityGeometryStreams, "GeometryStreams");
478   add(CapabilityStorageImageReadWithoutFormat, "StorageImageReadWithoutFormat");
479   add(CapabilityStorageImageWriteWithoutFormat, "StorageImageWriteWithoutFormat");
480   add(CapabilityMultiViewport, "MultiViewport");
481 }
482 SPIRV_DEF_NAMEMAP(Capability, SPIRVCapabilityNameMap)
483 
484 } /* namespace SPIRV */
485 
486 #endif /* SPIRVNAMEMAPENUM_H_ */
487