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