1 /*
2 ** Copyright (c) 2014-2016 The Khronos Group Inc.
3 **
4 ** Permission is hereby granted, free of charge, to any person obtaining a copy
5 ** of this software and/or associated documentation files (the "Materials"),
6 ** to deal in the Materials without restriction, including without limitation
7 ** the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 ** and/or sell copies of the Materials, and to permit persons to whom the
9 ** Materials are furnished to do so, subject to the following conditions:
10 **
11 ** The above copyright notice and this permission notice shall be included in
12 ** all copies or substantial portions of the Materials.
13 **
14 ** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
15 ** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
16 ** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
17 **
18 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19 ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21 ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23 ** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
24 ** IN THE MATERIALS.
25 */
26 
27 #ifndef GLSLstd450_H
28 #define GLSLstd450_H
29 
30 static const int GLSLstd450Version = 100;
31 static const int GLSLstd450Revision = 3;
32 
33 enum GLSLstd450 {
34     GLSLstd450Bad = 0,              // Don't use
35 
36     GLSLstd450Round = 1,
37     GLSLstd450RoundEven = 2,
38     GLSLstd450Trunc = 3,
39     GLSLstd450FAbs = 4,
40     GLSLstd450SAbs = 5,
41     GLSLstd450FSign = 6,
42     GLSLstd450SSign = 7,
43     GLSLstd450Floor = 8,
44     GLSLstd450Ceil = 9,
45     GLSLstd450Fract = 10,
46 
47     GLSLstd450Radians = 11,
48     GLSLstd450Degrees = 12,
49     GLSLstd450Sin = 13,
50     GLSLstd450Cos = 14,
51     GLSLstd450Tan = 15,
52     GLSLstd450Asin = 16,
53     GLSLstd450Acos = 17,
54     GLSLstd450Atan = 18,
55     GLSLstd450Sinh = 19,
56     GLSLstd450Cosh = 20,
57     GLSLstd450Tanh = 21,
58     GLSLstd450Asinh = 22,
59     GLSLstd450Acosh = 23,
60     GLSLstd450Atanh = 24,
61     GLSLstd450Atan2 = 25,
62 
63     GLSLstd450Pow = 26,
64     GLSLstd450Exp = 27,
65     GLSLstd450Log = 28,
66     GLSLstd450Exp2 = 29,
67     GLSLstd450Log2 = 30,
68     GLSLstd450Sqrt = 31,
69     GLSLstd450InverseSqrt = 32,
70 
71     GLSLstd450Determinant = 33,
72     GLSLstd450MatrixInverse = 34,
73 
74     GLSLstd450Modf = 35,            // second operand needs an OpVariable to write to
75     GLSLstd450ModfStruct = 36,      // no OpVariable operand
76     GLSLstd450FMin = 37,
77     GLSLstd450UMin = 38,
78     GLSLstd450SMin = 39,
79     GLSLstd450FMax = 40,
80     GLSLstd450UMax = 41,
81     GLSLstd450SMax = 42,
82     GLSLstd450FClamp = 43,
83     GLSLstd450UClamp = 44,
84     GLSLstd450SClamp = 45,
85     GLSLstd450FMix = 46,
86     GLSLstd450IMix = 47,            // Reserved
87     GLSLstd450Step = 48,
88     GLSLstd450SmoothStep = 49,
89 
90     GLSLstd450Fma = 50,
91     GLSLstd450Frexp = 51,            // second operand needs an OpVariable to write to
92     GLSLstd450FrexpStruct = 52,      // no OpVariable operand
93     GLSLstd450Ldexp = 53,
94 
95     GLSLstd450PackSnorm4x8 = 54,
96     GLSLstd450PackUnorm4x8 = 55,
97     GLSLstd450PackSnorm2x16 = 56,
98     GLSLstd450PackUnorm2x16 = 57,
99     GLSLstd450PackHalf2x16 = 58,
100     GLSLstd450PackDouble2x32 = 59,
101     GLSLstd450UnpackSnorm2x16 = 60,
102     GLSLstd450UnpackUnorm2x16 = 61,
103     GLSLstd450UnpackHalf2x16 = 62,
104     GLSLstd450UnpackSnorm4x8 = 63,
105     GLSLstd450UnpackUnorm4x8 = 64,
106     GLSLstd450UnpackDouble2x32 = 65,
107 
108     GLSLstd450Length = 66,
109     GLSLstd450Distance = 67,
110     GLSLstd450Cross = 68,
111     GLSLstd450Normalize = 69,
112     GLSLstd450FaceForward = 70,
113     GLSLstd450Reflect = 71,
114     GLSLstd450Refract = 72,
115 
116     GLSLstd450FindILsb = 73,
117     GLSLstd450FindSMsb = 74,
118     GLSLstd450FindUMsb = 75,
119 
120     GLSLstd450InterpolateAtCentroid = 76,
121     GLSLstd450InterpolateAtSample = 77,
122     GLSLstd450InterpolateAtOffset = 78,
123 
124     GLSLstd450NMin = 79,
125     GLSLstd450NMax = 80,
126     GLSLstd450NClamp = 81,
127 
128     GLSLstd450Count
129 };
130 
131 #endif  // #ifndef GLSLstd450_H
132