/* ** Copyright (c) 2014-2016 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a copy ** of this software and/or associated documentation files (the "Materials"), ** to deal in the Materials without restriction, including without limitation ** the rights to use, copy, modify, merge, publish, distribute, sublicense, ** and/or sell copies of the Materials, and to permit persons to whom the ** Materials are furnished to do so, subject to the following conditions: ** ** The above copyright notice and this permission notice shall be included in ** all copies or substantial portions of the Materials. ** ** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS ** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND ** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ** ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS ** IN THE MATERIALS. */ /* ** This header is automatically generated by the same tool that creates ** the Binary Section of the SPIR-V specification. */ /* ** Enumeration tokens for SPIR-V, in various styles: ** C, C++, C++11, JSON, Lua, Python ** ** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL ** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL ** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL ** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL ** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL'] ** ** Some tokens act like mask values, which can be OR'd together, ** while others are mutually exclusive. The mask-like ones have ** "Mask" in their name, and a parallel enum that has the shift ** amount (1 << x) for each corresponding enumerant. */ #ifndef spirv_H #define spirv_H SpvId; #define SPV_VERSION … #define SPV_REVISION … static const unsigned int SpvMagicNumber = …; static const unsigned int SpvVersion = …; static const unsigned int SpvRevision = …; static const unsigned int SpvOpCodeMask = …; static const unsigned int SpvWordCountShift = …; SpvSourceLanguage; SpvExecutionModel; SpvAddressingModel; SpvMemoryModel; SpvExecutionMode; SpvStorageClass; SpvDim; SpvSamplerAddressingMode; SpvSamplerFilterMode; SpvImageFormat; SpvImageChannelOrder; SpvImageChannelDataType; SpvImageOperandsShift; SpvImageOperandsMask; SpvFPFastMathModeShift; SpvFPFastMathModeMask; SpvFPRoundingMode; SpvLinkageType; SpvAccessQualifier; SpvFunctionParameterAttribute; SpvDecoration; SpvBuiltIn; SpvSelectionControlShift; SpvSelectionControlMask; SpvLoopControlShift; SpvLoopControlMask; SpvFunctionControlShift; SpvFunctionControlMask; SpvMemorySemanticsShift; SpvMemorySemanticsMask; SpvMemoryAccessShift; SpvMemoryAccessMask; SpvScope; SpvGroupOperation; SpvKernelEnqueueFlags; SpvKernelProfilingInfoShift; SpvKernelProfilingInfoMask; SpvCapability; SpvOp; #endif // #ifndef spirv_H