191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//===- SPIRVNameMapEnum.h - SPIR-V NameMap enums ----------------*- C++ -*-===//
291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//
391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//                     The LLVM/SPIRV Translator
491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//
591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// This file is distributed under the University of Illinois Open Source
691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// License. See LICENSE.TXT for details.
791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//
891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// Copyright (c) 2014 Advanced Micro Devices, Inc. All rights reserved.
991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//
1091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// Permission is hereby granted, free of charge, to any person obtaining a
1191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// copy of this software and associated documentation files (the "Software"),
1291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// to deal with the Software without restriction, including without limitation
1391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// the rights to use, copy, modify, merge, publish, distribute, sublicense,
1491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// and/or sell copies of the Software, and to permit persons to whom the
1591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// Software is furnished to do so, subject to the following conditions:
1691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//
1791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// Redistributions of source code must retain the above copyright notice,
1891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// this list of conditions and the following disclaimers.
1991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// Redistributions in binary form must reproduce the above copyright notice,
2091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// this list of conditions and the following disclaimers in the documentation
2191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// and/or other materials provided with the distribution.
2291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// Neither the names of Advanced Micro Devices, Inc., nor the names of its
2391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// contributors may be used to endorse or promote products derived from this
2491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// Software without specific prior written permission.
2591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
3191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// THE SOFTWARE.
3291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//
3391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//===----------------------------------------------------------------------===//
3491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni/// \file
3591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni///
3691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni/// This file defines SPIR-V NameMap enums.
3791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni///
3891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//===----------------------------------------------------------------------===//
3991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// WARNING:
4091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//
4191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// This file has been generated using `tools/spirv-tool/gen_spirv.bash` and
4291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// should not be modified manually. If the file needs to be updated, edit the
4391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni// script and any other source file instead, before re-generating this file.
4491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni//===----------------------------------------------------------------------===//
4591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
4691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni#ifndef SPIRVNAMEMAPENUM_H_
4791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni#define SPIRVNAMEMAPENUM_H_
4891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
4991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni#include "spirv.hpp"
5091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni#include "SPIRVEnum.h"
5191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
5291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Niusing namespace spv;
5391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
5491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ninamespace SPIRV {
5591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
5691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
5791585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<SourceLanguage, std::string>::init() {
5891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SourceLanguageUnknown, "Unknown");
5991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SourceLanguageESSL, "ESSL");
6091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SourceLanguageGLSL, "GLSL");
6191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SourceLanguageOpenCL_C, "OpenCL_C");
6291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SourceLanguageOpenCL_CPP, "OpenCL_CPP");
6391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
6491585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(SourceLanguage, SPIRVSourceLanguageNameMap)
6591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
6691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
6791585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<ExecutionModel, std::string>::init() {
6891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModelVertex, "Vertex");
6991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModelTessellationControl, "TessellationControl");
7091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModelTessellationEvaluation, "TessellationEvaluation");
7191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModelGeometry, "Geometry");
7291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModelFragment, "Fragment");
7391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModelGLCompute, "GLCompute");
7491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModelKernel, "Kernel");
7591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
7691585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(ExecutionModel, SPIRVExecutionModelNameMap)
7791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
7891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
7991585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<AddressingModel, std::string>::init() {
8091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(AddressingModelLogical, "Logical");
8191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(AddressingModelPhysical32, "Physical32");
8291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(AddressingModelPhysical64, "Physical64");
8391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
8491585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(AddressingModel, SPIRVAddressingModelNameMap)
8591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
8691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
8791585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<MemoryModel, std::string>::init() {
8891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(MemoryModelSimple, "Simple");
8991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(MemoryModelGLSL450, "GLSL450");
9091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(MemoryModelOpenCL, "OpenCL");
9191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
9291585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(MemoryModel, SPIRVMemoryModelNameMap)
9391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
9491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
9591585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<ExecutionMode, std::string>::init() {
9691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeInvocations, "Invocations");
9791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeSpacingEqual, "SpacingEqual");
9891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeSpacingFractionalEven, "SpacingFractionalEven");
9991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeSpacingFractionalOdd, "SpacingFractionalOdd");
10091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeVertexOrderCw, "VertexOrderCw");
10191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeVertexOrderCcw, "VertexOrderCcw");
10291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModePixelCenterInteger, "PixelCenterInteger");
10391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeOriginUpperLeft, "OriginUpperLeft");
10491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeOriginLowerLeft, "OriginLowerLeft");
10591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeEarlyFragmentTests, "EarlyFragmentTests");
10691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModePointMode, "PointMode");
10791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeXfb, "Xfb");
10891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeDepthReplacing, "DepthReplacing");
10991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeDepthGreater, "DepthGreater");
11091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeDepthLess, "DepthLess");
11191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeDepthUnchanged, "DepthUnchanged");
11291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeLocalSize, "LocalSize");
11391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeLocalSizeHint, "LocalSizeHint");
11491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeInputPoints, "InputPoints");
11591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeInputLines, "InputLines");
11691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeInputLinesAdjacency, "InputLinesAdjacency");
11791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeTriangles, "Triangles");
11891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeInputTrianglesAdjacency, "InputTrianglesAdjacency");
11991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeQuads, "Quads");
12091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeIsolines, "Isolines");
12191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeOutputVertices, "OutputVertices");
12291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeOutputPoints, "OutputPoints");
12391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeOutputLineStrip, "OutputLineStrip");
12491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeOutputTriangleStrip, "OutputTriangleStrip");
12591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeVecTypeHint, "VecTypeHint");
12691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ExecutionModeContractionOff, "ContractionOff");
12791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
12891585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(ExecutionMode, SPIRVExecutionModeNameMap)
12991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
13091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
13191585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<StorageClass, std::string>::init() {
13291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassUniformConstant, "UniformConstant");
13391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassInput, "Input");
13491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassUniform, "Uniform");
13591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassOutput, "Output");
13691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassWorkgroup, "Workgroup");
13791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassCrossWorkgroup, "CrossWorkgroup");
13891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassPrivate, "Private");
13991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassFunction, "Function");
14091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassGeneric, "Generic");
14191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassPushConstant, "PushConstant");
14291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassAtomicCounter, "AtomicCounter");
14391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(StorageClassImage, "Image");
14491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
14591585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(StorageClass, SPIRVStorageClassNameMap)
14691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
14791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
14891585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<Dim, std::string>::init() {
14991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(Dim1D, "1D");
15091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(Dim2D, "2D");
15191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(Dim3D, "3D");
15291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DimCube, "Cube");
15391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DimRect, "Rect");
15491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DimBuffer, "Buffer");
15591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DimSubpassData, "SubpassData");
15691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
15791585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(Dim, SPIRVDimNameMap)
15891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
15991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
16091585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<SamplerAddressingMode, std::string>::init() {
16191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SamplerAddressingModeNone, "None");
16291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SamplerAddressingModeClampToEdge, "ClampToEdge");
16391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SamplerAddressingModeClamp, "Clamp");
16491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SamplerAddressingModeRepeat, "Repeat");
16591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SamplerAddressingModeRepeatMirrored, "RepeatMirrored");
16691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
16791585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(SamplerAddressingMode, SPIRVSamplerAddressingModeNameMap)
16891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
16991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
17091585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<SamplerFilterMode, std::string>::init() {
17191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SamplerFilterModeNearest, "Nearest");
17291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(SamplerFilterModeLinear, "Linear");
17391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
17491585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(SamplerFilterMode, SPIRVSamplerFilterModeNameMap)
17591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
17691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
17791585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<ImageFormat, std::string>::init() {
17891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatUnknown, "Unknown");
17991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba32f, "Rgba32f");
18091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba16f, "Rgba16f");
18191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR32f, "R32f");
18291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba8, "Rgba8");
18391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba8Snorm, "Rgba8Snorm");
18491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg32f, "Rg32f");
18591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg16f, "Rg16f");
18691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR11fG11fB10f, "R11fG11fB10f");
18791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR16f, "R16f");
18891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba16, "Rgba16");
18991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgb10A2, "Rgb10A2");
19091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg16, "Rg16");
19191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg8, "Rg8");
19291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR16, "R16");
19391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR8, "R8");
19491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba16Snorm, "Rgba16Snorm");
19591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg16Snorm, "Rg16Snorm");
19691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg8Snorm, "Rg8Snorm");
19791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR16Snorm, "R16Snorm");
19891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR8Snorm, "R8Snorm");
19991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba32i, "Rgba32i");
20091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba16i, "Rgba16i");
20191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba8i, "Rgba8i");
20291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR32i, "R32i");
20391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg32i, "Rg32i");
20491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg16i, "Rg16i");
20591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg8i, "Rg8i");
20691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR16i, "R16i");
20791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR8i, "R8i");
20891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba32ui, "Rgba32ui");
20991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba16ui, "Rgba16ui");
21091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgba8ui, "Rgba8ui");
21191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR32ui, "R32ui");
21291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRgb10a2ui, "Rgb10a2ui");
21391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg32ui, "Rg32ui");
21491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg16ui, "Rg16ui");
21591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatRg8ui, "Rg8ui");
21691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR16ui, "R16ui");
21791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageFormatR8ui, "R8ui");
21891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
21991585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(ImageFormat, SPIRVImageFormatNameMap)
22091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
22191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
22291585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<ImageChannelOrder, std::string>::init() {
22391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderR, "R");
22491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderA, "A");
22591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderRG, "RG");
22691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderRA, "RA");
22791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderRGB, "RGB");
22891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderRGBA, "RGBA");
22991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderBGRA, "BGRA");
23091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderARGB, "ARGB");
23191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderIntensity, "Intensity");
23291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderLuminance, "Luminance");
23391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderRx, "Rx");
23491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderRGx, "RGx");
23591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderRGBx, "RGBx");
23691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderDepth, "Depth");
23791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelOrderDepthStencil, "DepthStencil");
23891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
23991585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(ImageChannelOrder, SPIRVImageChannelOrderNameMap)
24091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
24191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
24291585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<ImageChannelDataType, std::string>::init() {
24391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeSnormInt8, "SnormInt8");
24491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeSnormInt16, "SnormInt16");
24591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeUnormInt8, "UnormInt8");
24691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeUnormInt16, "UnormInt16");
24791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeUnormShort565, "UnormShort565");
24891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeUnormShort555, "UnormShort555");
24991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeUnormInt101010, "UnormInt101010");
25091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeSignedInt8, "SignedInt8");
25191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeSignedInt16, "SignedInt16");
25291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeSignedInt32, "SignedInt32");
25391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeUnsignedInt8, "UnsignedInt8");
25491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeUnsignedInt16, "UnsignedInt16");
25591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeUnsignedInt32, "UnsignedInt32");
25691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeHalfFloat, "HalfFloat");
25791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeFloat, "Float");
25891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeUnormInt24, "UnormInt24");
25991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ImageChannelDataTypeUnormInt101010_2, "UnormInt101010_2");
26091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
26191585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(ImageChannelDataType, SPIRVImageChannelDataTypeNameMap)
26291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
26391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
26491585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<FPRoundingMode, std::string>::init() {
26591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FPRoundingModeRTE, "RTE");
26691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FPRoundingModeRTZ, "RTZ");
26791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FPRoundingModeRTP, "RTP");
26891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FPRoundingModeRTN, "RTN");
26991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
27091585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(FPRoundingMode, SPIRVFPRoundingModeNameMap)
27191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
27291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
27391585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<LinkageType, std::string>::init() {
27491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(LinkageTypeExport, "Export");
27591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(LinkageTypeImport, "Import");
27691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(LinkageTypeInternal, "Internal");
27791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
27891585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(LinkageType, SPIRVLinkageTypeNameMap)
27991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
28091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
28191585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<AccessQualifier, std::string>::init() {
28291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(AccessQualifierReadOnly, "ReadOnly");
28391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(AccessQualifierWriteOnly, "WriteOnly");
28491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(AccessQualifierReadWrite, "ReadWrite");
28591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
28691585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(AccessQualifier, SPIRVAccessQualifierNameMap)
28791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
28891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
28991585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<FunctionParameterAttribute, std::string>::init() {
29091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FunctionParameterAttributeZext, "Zext");
29191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FunctionParameterAttributeSext, "Sext");
29291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FunctionParameterAttributeByVal, "ByVal");
29391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FunctionParameterAttributeSret, "Sret");
29491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FunctionParameterAttributeNoAlias, "NoAlias");
29591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FunctionParameterAttributeNoCapture, "NoCapture");
29691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FunctionParameterAttributeNoWrite, "NoWrite");
29791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(FunctionParameterAttributeNoReadWrite, "NoReadWrite");
29891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
29991585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(FunctionParameterAttribute, SPIRVFunctionParameterAttributeNameMap)
30091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
30191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
30291585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<Decoration, std::string>::init() {
30391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationRelaxedPrecision, "RelaxedPrecision");
30491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationSpecId, "SpecId");
30591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationBlock, "Block");
30691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationBufferBlock, "BufferBlock");
30791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationRowMajor, "RowMajor");
30891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationColMajor, "ColMajor");
30991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationArrayStride, "ArrayStride");
31091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationMatrixStride, "MatrixStride");
31191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationGLSLShared, "GLSLShared");
31291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationGLSLPacked, "GLSLPacked");
31391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationCPacked, "CPacked");
31491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationBuiltIn, "BuiltIn");
31591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationNoPerspective, "NoPerspective");
31691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationFlat, "Flat");
31791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationPatch, "Patch");
31891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationCentroid, "Centroid");
31991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationSample, "Sample");
32091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationInvariant, "Invariant");
32191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationRestrict, "Restrict");
32291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationAliased, "Aliased");
32391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationVolatile, "Volatile");
32491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationConstant, "Constant");
32591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationCoherent, "Coherent");
32691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationNonWritable, "NonWritable");
32791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationNonReadable, "NonReadable");
32891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationUniform, "Uniform");
32991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationSaturatedConversion, "SaturatedConversion");
33091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationStream, "Stream");
33191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationLocation, "Location");
33291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationComponent, "Component");
33391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationIndex, "Index");
33491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationBinding, "Binding");
33591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationDescriptorSet, "DescriptorSet");
33691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationOffset, "Offset");
33791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationXfbBuffer, "XfbBuffer");
33891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationXfbStride, "XfbStride");
33991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationFuncParamAttr, "FuncParamAttr");
34091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationFPRoundingMode, "FPRoundingMode");
34191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationFPFastMathMode, "FPFastMathMode");
34291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationLinkageAttributes, "LinkageAttributes");
34391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationNoContraction, "NoContraction");
34491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationInputAttachmentIndex, "InputAttachmentIndex");
34591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationAlignment, "Alignment");
34691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(DecorationMaxByteOffset, "MaxByteOffset");
34791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
34891585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(Decoration, SPIRVDecorationNameMap)
34991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
35091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
35191585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<BuiltIn, std::string>::init() {
35291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInPosition, "BuiltInPosition");
35391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInPointSize, "BuiltInPointSize");
35491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInClipDistance, "BuiltInClipDistance");
35591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInCullDistance, "BuiltInCullDistance");
35691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInVertexId, "BuiltInVertexId");
35791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInInstanceId, "BuiltInInstanceId");
35891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInPrimitiveId, "BuiltInPrimitiveId");
35991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInInvocationId, "BuiltInInvocationId");
36091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInLayer, "BuiltInLayer");
36191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInViewportIndex, "BuiltInViewportIndex");
36291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInTessLevelOuter, "BuiltInTessLevelOuter");
36391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInTessLevelInner, "BuiltInTessLevelInner");
36491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInTessCoord, "BuiltInTessCoord");
36591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInPatchVertices, "BuiltInPatchVertices");
36691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInFragCoord, "BuiltInFragCoord");
36791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInPointCoord, "BuiltInPointCoord");
36891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInFrontFacing, "BuiltInFrontFacing");
36991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInSampleId, "BuiltInSampleId");
37091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInSamplePosition, "BuiltInSamplePosition");
37191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInSampleMask, "BuiltInSampleMask");
37291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInFragDepth, "BuiltInFragDepth");
37391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInHelperInvocation, "BuiltInHelperInvocation");
37491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInNumWorkgroups, "BuiltInNumWorkgroups");
37591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInWorkgroupSize, "BuiltInWorkgroupSize");
37691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInWorkgroupId, "BuiltInWorkgroupId");
37791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInLocalInvocationId, "BuiltInLocalInvocationId");
37891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInGlobalInvocationId, "BuiltInGlobalInvocationId");
37991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInLocalInvocationIndex, "BuiltInLocalInvocationIndex");
38091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInWorkDim, "BuiltInWorkDim");
38191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInGlobalSize, "BuiltInGlobalSize");
38291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInEnqueuedWorkgroupSize, "BuiltInEnqueuedWorkgroupSize");
38391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInGlobalOffset, "BuiltInGlobalOffset");
38491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInGlobalLinearId, "BuiltInGlobalLinearId");
38591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInSubgroupSize, "BuiltInSubgroupSize");
38691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInSubgroupMaxSize, "BuiltInSubgroupMaxSize");
38791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInNumSubgroups, "BuiltInNumSubgroups");
38891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInNumEnqueuedSubgroups, "BuiltInNumEnqueuedSubgroups");
38991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInSubgroupId, "BuiltInSubgroupId");
39091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInSubgroupLocalInvocationId, "BuiltInSubgroupLocalInvocationId");
39191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInVertexIndex, "BuiltInVertexIndex");
39291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(BuiltInInstanceIndex, "BuiltInInstanceIndex");
39391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
39491585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(BuiltIn, SPIRVBuiltInNameMap)
39591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
39691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
39791585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<Scope, std::string>::init() {
39891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ScopeCrossDevice, "CrossDevice");
39991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ScopeDevice, "Device");
40091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ScopeWorkgroup, "Workgroup");
40191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ScopeSubgroup, "Subgroup");
40291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(ScopeInvocation, "Invocation");
40391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
40491585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(Scope, SPIRVScopeNameMap)
40591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
40691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
40791585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<GroupOperation, std::string>::init() {
40891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(GroupOperationReduce, "Reduce");
40991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(GroupOperationInclusiveScan, "InclusiveScan");
41091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(GroupOperationExclusiveScan, "ExclusiveScan");
41191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
41291585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(GroupOperation, SPIRVGroupOperationNameMap)
41391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
41491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
41591585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<KernelEnqueueFlags, std::string>::init() {
41691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(KernelEnqueueFlagsNoWait, "NoWait");
41791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(KernelEnqueueFlagsWaitKernel, "WaitKernel");
41891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(KernelEnqueueFlagsWaitWorkGroup, "WaitWorkGroup");
41991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
42091585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(KernelEnqueueFlags, SPIRVKernelEnqueueFlagsNameMap)
42191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
42291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Nitemplate<> inline void
42391585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRVMap<Capability, std::string>::init() {
42491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityMatrix, "Matrix");
42591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityShader, "Shader");
42691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityGeometry, "Geometry");
42791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityTessellation, "Tessellation");
42891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityAddresses, "Addresses");
42991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityLinkage, "Linkage");
43091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityKernel, "Kernel");
43191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityVector16, "Vector16");
43291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityFloat16Buffer, "Float16Buffer");
43391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityFloat16, "Float16");
43491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityFloat64, "Float64");
43591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityInt64, "Int64");
43691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityInt64Atomics, "Int64Atomics");
43791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityImageBasic, "ImageBasic");
43891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityImageReadWrite, "ImageReadWrite");
43991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityImageMipmap, "ImageMipmap");
44091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityPipes, "Pipes");
44191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityPipeStorage, "PipeStorage");
44291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityGroups, "Groups");
44391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityDeviceEnqueue, "DeviceEnqueue");
44491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityLiteralSampler, "LiteralSampler");
44591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityAtomicStorage, "AtomicStorage");
44691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityInt16, "Int16");
44791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityTessellationPointSize, "TessellationPointSize");
44891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityGeometryPointSize, "GeometryPointSize");
44991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityImageGatherExtended, "ImageGatherExtended");
45091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityStorageImageMultisample, "StorageImageMultisample");
45191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityUniformBufferArrayDynamicIndexing, "UniformBufferArrayDynamicIndexing");
45291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilitySampledImageArrayDynamicIndexing, "SampledImageArrayDynamicIndexing");
45391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityStorageBufferArrayDynamicIndexing, "StorageBufferArrayDynamicIndexing");
45491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityStorageImageArrayDynamicIndexing, "StorageImageArrayDynamicIndexing");
45591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityClipDistance, "ClipDistance");
45691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityCullDistance, "CullDistance");
45791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityImageCubeArray, "ImageCubeArray");
45891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilitySampleRateShading, "SampleRateShading");
45991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityImageRect, "ImageRect");
46091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilitySampledRect, "SampledRect");
46191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityGenericPointer, "GenericPointer");
46291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityInt8, "Int8");
46391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityInputAttachment, "InputAttachment");
46491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilitySparseResidency, "SparseResidency");
46591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityMinLod, "MinLod");
46691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilitySampled1D, "Sampled1D");
46791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityImage1D, "Image1D");
46891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilitySampledCubeArray, "SampledCubeArray");
46991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilitySampledBuffer, "SampledBuffer");
47091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityImageBuffer, "ImageBuffer");
47191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityImageMSArray, "ImageMSArray");
47291585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityStorageImageExtendedFormats, "StorageImageExtendedFormats");
47391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityImageQuery, "ImageQuery");
47491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityDerivativeControl, "DerivativeControl");
47591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityInterpolationFunction, "InterpolationFunction");
47691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityTransformFeedback, "TransformFeedback");
47791585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityGeometryStreams, "GeometryStreams");
47891585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityStorageImageReadWithoutFormat, "StorageImageReadWithoutFormat");
47991585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityStorageImageWriteWithoutFormat, "StorageImageWriteWithoutFormat");
48091585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni  add(CapabilityMultiViewport, "MultiViewport");
48191585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni}
48291585d9acd75a2bdbfd177bf56c8b9436f442152Yang NiSPIRV_DEF_NAMEMAP(Capability, SPIRVCapabilityNameMap)
48391585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
48491585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni} /* namespace SPIRV */
48591585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni
48691585d9acd75a2bdbfd177bf56c8b9436f442152Yang Ni#endif /* SPIRVNAMEMAPENUM_H_ */
487