/* ** 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. */ #ifndef GLSLstd450_HPP #define GLSLstd450_HPP namespace spv { constexpr int GLSLstd450Version = 100; constexpr int GLSLstd450Revision = 1; enum class GLSLstd450 { kBad = 0, // Don't use kRound = 1, kRoundEven = 2, kTrunc = 3, kFAbs = 4, kSAbs = 5, kFSign = 6, kSSign = 7, kFloor = 8, kCeil = 9, kFract = 10, kRadians = 11, kDegrees = 12, kSin = 13, kCos = 14, kTan = 15, kAsin = 16, kAcos = 17, kAtan = 18, kSinh = 19, kCosh = 20, kTanh = 21, kAsinh = 22, kAcosh = 23, kAtanh = 24, kAtan2 = 25, kPow = 26, kExp = 27, kLog = 28, kExp2 = 29, kLog2 = 30, kSqrt = 31, kInverseSqrt = 32, kDeterminant = 33, kMatrixInverse = 34, kModf = 35, // second operand needs an OpVariable to write to kModfStruct = 36, // no OpVariable operand kFMin = 37, kUMin = 38, kSMin = 39, kFMax = 40, kUMax = 41, kSMax = 42, kFClamp = 43, kUClamp = 44, kSClamp = 45, kFMix = 46, kIMix = 47, // Reserved kStep = 48, kSmoothStep = 49, kFma = 50, kFrexp = 51, // second operand needs an OpVariable to write to kFrexpStruct = 52, // no OpVariable operand kLdexp = 53, kPackSnorm4x8 = 54, kPackUnorm4x8 = 55, kPackSnorm2x16 = 56, kPackUnorm2x16 = 57, kPackHalf2x16 = 58, kPackDouble2x32 = 59, kUnpackSnorm2x16 = 60, kUnpackUnorm2x16 = 61, kUnpackHalf2x16 = 62, kUnpackSnorm4x8 = 63, kUnpackUnorm4x8 = 64, kUnpackDouble2x32 = 65, kLength = 66, kDistance = 67, kCross = 68, kNormalize = 69, kFaceForward = 70, kReflect = 71, kRefract = 72, kFindILsb = 73, kFindSMsb = 74, kFindUMsb = 75, kInterpolateAtCentroid = 76, kInterpolateAtSample = 77, kInterpolateAtOffset = 78, kNMin = 79, kNMax = 80, kNClamp = 81, kCount }; } // namespace spv #endif // #ifndef GLSLstd450_HPP