mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-10 04:20:06 +00:00
0016eaf1b9
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30443 e7fa87d3-cd2b-0410-9028-fcbf551c1848
211 lines
6.9 KiB
C++
211 lines
6.9 KiB
C++
/*
|
|
** Copyright (c) 2014-2015 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.
|
|
**
|
|
** 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.
|
|
*/
|
|
|
|
//
|
|
// Author: John Kessenich, LunarG
|
|
//
|
|
|
|
namespace GLSL_STD_450 {
|
|
|
|
enum Entrypoints {
|
|
Round = 0,
|
|
RoundEven = 1,
|
|
Trunc = 2,
|
|
Abs = 3,
|
|
Sign = 4,
|
|
Floor = 5,
|
|
Ceil = 6,
|
|
Fract = 7,
|
|
|
|
Radians = 8,
|
|
Degrees = 9,
|
|
Sin = 10,
|
|
Cos = 11,
|
|
Tan = 12,
|
|
Asin = 13,
|
|
Acos = 14,
|
|
Atan = 15,
|
|
Sinh = 16,
|
|
Cosh = 17,
|
|
Tanh = 18,
|
|
Asinh = 19,
|
|
Acosh = 20,
|
|
Atanh = 21,
|
|
Atan2 = 22,
|
|
|
|
Pow = 23,
|
|
Exp = 24,
|
|
Log = 25,
|
|
Exp2 = 26,
|
|
Log2 = 27,
|
|
Sqrt = 28,
|
|
InverseSqrt = 29,
|
|
|
|
Determinant = 30,
|
|
MatrixInverse = 31,
|
|
|
|
Modf = 32, // second argument needs the OpVariable = , not an OpLoad
|
|
Min = 33,
|
|
Max = 34,
|
|
Clamp = 35,
|
|
Mix = 36,
|
|
Step = 37,
|
|
SmoothStep = 38,
|
|
|
|
FloatBitsToInt = 39,
|
|
FloatBitsToUint = 40,
|
|
IntBitsToFloat = 41,
|
|
UintBitsToFloat = 42,
|
|
|
|
Fma = 43,
|
|
Frexp = 44,
|
|
Ldexp = 45,
|
|
|
|
PackSnorm4x8 = 46,
|
|
PackUnorm4x8 = 47,
|
|
PackSnorm2x16 = 48,
|
|
PackUnorm2x16 = 49,
|
|
PackHalf2x16 = 50,
|
|
PackDouble2x32 = 51,
|
|
UnpackSnorm2x16 = 52,
|
|
UnpackUnorm2x16 = 53,
|
|
UnpackHalf2x16 = 54,
|
|
UnpackSnorm4x8 = 55,
|
|
UnpackUnorm4x8 = 56,
|
|
UnpackDouble2x32 = 57,
|
|
|
|
Length = 58,
|
|
Distance = 59,
|
|
Cross = 60,
|
|
Normalize = 61,
|
|
Ftransform = 62,
|
|
FaceForward = 63,
|
|
Reflect = 64,
|
|
Refract = 65,
|
|
|
|
UaddCarry = 66,
|
|
UsubBorrow = 67,
|
|
UmulExtended = 68,
|
|
ImulExtended = 69,
|
|
BitfieldExtract = 70,
|
|
BitfieldInsert = 71,
|
|
BitfieldReverse = 72,
|
|
BitCount = 73,
|
|
FindLSB = 74,
|
|
FindMSB = 75,
|
|
|
|
InterpolateAtCentroid = 76,
|
|
InterpolateAtSample = 77,
|
|
InterpolateAtOffset = 78,
|
|
|
|
Count
|
|
};
|
|
|
|
inline void GetDebugNames(const char** names)
|
|
{
|
|
for (int i = 0; i < Count; ++i)
|
|
names[i] = "Unknown";
|
|
|
|
names[Round] = "round";
|
|
names[RoundEven] = "roundEven";
|
|
names[Trunc] = "trunc";
|
|
names[Abs] = "abs";
|
|
names[Sign] = "sign";
|
|
names[Floor] = "floor";
|
|
names[Ceil] = "ceil";
|
|
names[Fract] = "fract";
|
|
names[Radians] = "radians";
|
|
names[Degrees] = "degrees";
|
|
names[Sin] = "sin";
|
|
names[Cos] = "cos";
|
|
names[Tan] = "tan";
|
|
names[Asin] = "asin";
|
|
names[Acos] = "acos";
|
|
names[Atan] = "atan";
|
|
names[Sinh] = "sinh";
|
|
names[Cosh] = "cosh";
|
|
names[Tanh] = "tanh";
|
|
names[Asinh] = "asinh";
|
|
names[Acosh] = "acosh";
|
|
names[Atanh] = "atanh";
|
|
names[Atan2] = "atan2";
|
|
names[Pow] = "pow";
|
|
names[Exp] = "exp";
|
|
names[Log] = "log";
|
|
names[Exp2] = "exp2";
|
|
names[Log2] = "log2";
|
|
names[Sqrt] = "sqrt";
|
|
names[InverseSqrt] = "inverseSqrt";
|
|
names[Determinant] = "determinant";
|
|
names[MatrixInverse] = "matrixInverse";
|
|
names[Modf] = "modf";
|
|
names[Min] = "min";
|
|
names[Max] = "max";
|
|
names[Clamp] = "clamp";
|
|
names[Mix] = "mix";
|
|
names[Step] = "step";
|
|
names[SmoothStep] = "smoothStep";
|
|
names[FloatBitsToInt] = "floatBitsToInt";
|
|
names[FloatBitsToUint] = "floatBitsToUint";
|
|
names[IntBitsToFloat] = "intBitsToFloat";
|
|
names[UintBitsToFloat] = "uintBitsToFloat";
|
|
names[Fma] = "fma";
|
|
names[Frexp] = "frexp";
|
|
names[Ldexp] = "ldexp";
|
|
names[PackSnorm4x8] = "packSnorm4x8";
|
|
names[PackUnorm4x8] = "packUnorm4x8";
|
|
names[PackSnorm2x16] = "packSnorm2x16";
|
|
names[PackUnorm2x16] = "packUnorm2x16";
|
|
names[PackHalf2x16] = "packHalf2x16";
|
|
names[PackDouble2x32] = "packDouble2x32";
|
|
names[UnpackSnorm2x16] = "unpackSnorm2x16";
|
|
names[UnpackUnorm2x16] = "unpackUnorm2x16";
|
|
names[UnpackHalf2x16] = "unpackHalf2x16";
|
|
names[UnpackSnorm4x8] = "unpackSnorm4x8";
|
|
names[UnpackUnorm4x8] = "unpackUnorm4x8";
|
|
names[UnpackDouble2x32] = "unpackDouble2x32";
|
|
names[Length] = "length";
|
|
names[Distance] = "distance";
|
|
names[Cross] = "cross";
|
|
names[Normalize] = "normalize";
|
|
names[Ftransform] = "ftransform";
|
|
names[FaceForward] = "faceForward";
|
|
names[Reflect] = "reflect";
|
|
names[Refract] = "refract";
|
|
names[UaddCarry] = "uaddCarry";
|
|
names[UsubBorrow] = "usubBorrow";
|
|
names[UmulExtended] = "umulExtended";
|
|
names[ImulExtended] = "imulExtended";
|
|
names[BitfieldExtract] = "bitfieldExtract";
|
|
names[BitfieldInsert] = "bitfieldInsert";
|
|
names[BitfieldReverse] = "bitfieldReverse";
|
|
names[BitCount] = "bitCount";
|
|
names[FindLSB] = "findLSB";
|
|
names[FindMSB] = "findMSB";
|
|
names[InterpolateAtCentroid] = "interpolateAtCentroid";
|
|
names[InterpolateAtSample] = "interpolateAtSample";
|
|
names[InterpolateAtOffset] = "interpolateAtOffset";
|
|
}
|
|
|
|
}; // end namespace GLSL_STD_450
|