Merge remote-tracking branch 'public/master' into vulkan
[mesa.git] / src / compiler / spirv / GLSL.std.450.h
1 /*
2 ** Copyright (c) 2014-2015 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 const int GLSLstd450Version = 99;
31 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,
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 GLSLstd450Count
125 };
126
127 #endif // #ifndef GLSLstd450_H