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