Home | History | Annotate | Download | only in SPIRV
      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 = 1;
     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