chromium/third_party/skia/src/sksl/spirv.h

/*
** 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