Home | History | Annotate | Download | only in MachineIndependent
      1 /*
      2 ** Copyright (c) 2013 The Khronos Group Inc.
      3 **
      4 ** Permission is hereby granted, free of charge, to any person obtaining a
      5 ** copy of this software and/or associated documentation files (the
      6 ** "Materials"), to deal in the Materials without restriction, including
      7 ** without limitation the rights to use, copy, modify, merge, publish,
      8 ** distribute, sublicense, and/or sell copies of the Materials, and to
      9 ** permit persons to whom the Materials are furnished to do so, subject to
     10 ** the following conditions:
     11 **
     12 ** The above copyright notice and this permission notice shall be included
     13 ** in all copies or substantial portions of the Materials.
     14 **
     15 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     16 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     17 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     18 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
     19 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
     20 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
     21 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
     22 */
     23 
     24 #pragma once
     25 
     26 #define GL_FLOAT                          0x1406
     27 #define GL_FLOAT_VEC2                     0x8B50
     28 #define GL_FLOAT_VEC3                     0x8B51
     29 #define GL_FLOAT_VEC4                     0x8B52
     30 
     31 #define GL_DOUBLE                         0x140A
     32 #define GL_DOUBLE_VEC2                    0x8FFC
     33 #define GL_DOUBLE_VEC3                    0x8FFD
     34 #define GL_DOUBLE_VEC4                    0x8FFE
     35 
     36 #define GL_INT                            0x1404
     37 #define GL_INT_VEC2                       0x8B53
     38 #define GL_INT_VEC3                       0x8B54
     39 #define GL_INT_VEC4                       0x8B55
     40 
     41 #define GL_UNSIGNED_INT                   0x1405
     42 #define GL_UNSIGNED_INT_VEC2              0x8DC6
     43 #define GL_UNSIGNED_INT_VEC3              0x8DC7
     44 #define GL_UNSIGNED_INT_VEC4              0x8DC8
     45 
     46 #define GL_INT64_ARB                      0x140E
     47 #define GL_INT64_VEC2_ARB                 0x8FE9
     48 #define GL_INT64_VEC3_ARB                 0x8FEA
     49 #define GL_INT64_VEC4_ARB                 0x8FEB
     50 
     51 #define GL_UNSIGNED_INT64_ARB             0x140F
     52 #define GL_UNSIGNED_INT64_VEC2_ARB        0x8FE5
     53 #define GL_UNSIGNED_INT64_VEC3_ARB        0x8FE6
     54 #define GL_UNSIGNED_INT64_VEC4_ARB        0x8FE7
     55 
     56 #define GL_BOOL                           0x8B56
     57 #define GL_BOOL_VEC2                      0x8B57
     58 #define GL_BOOL_VEC3                      0x8B58
     59 #define GL_BOOL_VEC4                      0x8B59
     60 
     61 #define GL_FLOAT_MAT2                     0x8B5A
     62 #define GL_FLOAT_MAT3                     0x8B5B
     63 #define GL_FLOAT_MAT4                     0x8B5C
     64 #define GL_FLOAT_MAT2x3                   0x8B65
     65 #define GL_FLOAT_MAT2x4                   0x8B66
     66 #define GL_FLOAT_MAT3x2                   0x8B67
     67 #define GL_FLOAT_MAT3x4                   0x8B68
     68 #define GL_FLOAT_MAT4x2                   0x8B69
     69 #define GL_FLOAT_MAT4x3                   0x8B6A
     70 
     71 #define GL_DOUBLE_MAT2                    0x8F46
     72 #define GL_DOUBLE_MAT3                    0x8F47
     73 #define GL_DOUBLE_MAT4                    0x8F48
     74 #define GL_DOUBLE_MAT2x3                  0x8F49
     75 #define GL_DOUBLE_MAT2x4                  0x8F4A
     76 #define GL_DOUBLE_MAT3x2                  0x8F4B
     77 #define GL_DOUBLE_MAT3x4                  0x8F4C
     78 #define GL_DOUBLE_MAT4x2                  0x8F4D
     79 #define GL_DOUBLE_MAT4x3                  0x8F4E
     80 
     81 #ifdef AMD_EXTENSIONS
     82 // Those constants are borrowed from extension NV_gpu_shader5
     83 #define GL_FLOAT16_NV                     0x8FF8
     84 #define GL_FLOAT16_VEC2_NV                0x8FF9
     85 #define GL_FLOAT16_VEC3_NV                0x8FFA
     86 #define GL_FLOAT16_VEC4_NV                0x8FFB
     87 
     88 #define GL_FLOAT16_MAT2_AMD               0x91C5
     89 #define GL_FLOAT16_MAT3_AMD               0x91C6
     90 #define GL_FLOAT16_MAT4_AMD               0x91C7
     91 #define GL_FLOAT16_MAT2x3_AMD             0x91C8
     92 #define GL_FLOAT16_MAT2x4_AMD             0x91C9
     93 #define GL_FLOAT16_MAT3x2_AMD             0x91CA
     94 #define GL_FLOAT16_MAT3x4_AMD             0x91CB
     95 #define GL_FLOAT16_MAT4x2_AMD             0x91CC
     96 #define GL_FLOAT16_MAT4x3_AMD             0x91CD
     97 #endif
     98 
     99 #define GL_SAMPLER_1D                     0x8B5D
    100 #define GL_SAMPLER_2D                     0x8B5E
    101 #define GL_SAMPLER_3D                     0x8B5F
    102 #define GL_SAMPLER_CUBE                   0x8B60
    103 #define GL_SAMPLER_BUFFER                 0x8DC2
    104 #define GL_SAMPLER_1D_ARRAY               0x8DC0
    105 #define GL_SAMPLER_2D_ARRAY               0x8DC1
    106 #define GL_SAMPLER_1D_ARRAY_SHADOW        0x8DC3
    107 #define GL_SAMPLER_2D_ARRAY_SHADOW        0x8DC4
    108 #define GL_SAMPLER_CUBE_SHADOW            0x8DC5
    109 #define GL_SAMPLER_1D_SHADOW              0x8B61
    110 #define GL_SAMPLER_2D_SHADOW              0x8B62
    111 #define GL_SAMPLER_2D_RECT                0x8B63
    112 #define GL_SAMPLER_2D_RECT_SHADOW         0x8B64
    113 #define GL_SAMPLER_2D_MULTISAMPLE         0x9108
    114 #define GL_SAMPLER_2D_MULTISAMPLE_ARRAY   0x910B
    115 #define GL_SAMPLER_CUBE_MAP_ARRAY         0x900C
    116 #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW  0x900D
    117 #define GL_SAMPLER_CUBE_MAP_ARRAY_ARB     0x900C
    118 #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D
    119 
    120 #define GL_INT_SAMPLER_1D                 0x8DC9
    121 #define GL_INT_SAMPLER_2D                 0x8DCA
    122 #define GL_INT_SAMPLER_3D                 0x8DCB
    123 #define GL_INT_SAMPLER_CUBE               0x8DCC
    124 #define GL_INT_SAMPLER_1D_ARRAY           0x8DCE
    125 #define GL_INT_SAMPLER_2D_ARRAY           0x8DCF
    126 #define GL_INT_SAMPLER_2D_RECT            0x8DCD
    127 #define GL_INT_SAMPLER_BUFFER             0x8DD0
    128 #define GL_INT_SAMPLER_2D_MULTISAMPLE     0x9109
    129 #define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
    130 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY     0x900E
    131 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E
    132 
    133 #define GL_UNSIGNED_INT_SAMPLER_1D        0x8DD1
    134 #define GL_UNSIGNED_INT_SAMPLER_2D        0x8DD2
    135 #define GL_UNSIGNED_INT_SAMPLER_3D        0x8DD3
    136 #define GL_UNSIGNED_INT_SAMPLER_CUBE      0x8DD4
    137 #define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY  0x8DD6
    138 #define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY  0x8DD7
    139 #define GL_UNSIGNED_INT_SAMPLER_2D_RECT   0x8DD5
    140 #define GL_UNSIGNED_INT_SAMPLER_BUFFER    0x8DD8
    141 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
    142 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
    143 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F
    144 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
    145 
    146 #define GL_IMAGE_1D                       0x904C
    147 #define GL_IMAGE_2D                       0x904D
    148 #define GL_IMAGE_3D                       0x904E
    149 #define GL_IMAGE_2D_RECT                  0x904F
    150 #define GL_IMAGE_CUBE                     0x9050
    151 #define GL_IMAGE_BUFFER                   0x9051
    152 #define GL_IMAGE_1D_ARRAY                 0x9052
    153 #define GL_IMAGE_2D_ARRAY                 0x9053
    154 #define GL_IMAGE_CUBE_MAP_ARRAY           0x9054
    155 #define GL_IMAGE_2D_MULTISAMPLE           0x9055
    156 #define GL_IMAGE_2D_MULTISAMPLE_ARRAY     0x9056
    157 #define GL_INT_IMAGE_1D                   0x9057
    158 #define GL_INT_IMAGE_2D                   0x9058
    159 #define GL_INT_IMAGE_3D                   0x9059
    160 #define GL_INT_IMAGE_2D_RECT              0x905A
    161 #define GL_INT_IMAGE_CUBE                 0x905B
    162 #define GL_INT_IMAGE_BUFFER               0x905C
    163 #define GL_INT_IMAGE_1D_ARRAY             0x905D
    164 #define GL_INT_IMAGE_2D_ARRAY             0x905E
    165 #define GL_INT_IMAGE_CUBE_MAP_ARRAY       0x905F
    166 #define GL_INT_IMAGE_2D_MULTISAMPLE       0x9060
    167 #define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061
    168 #define GL_UNSIGNED_INT_IMAGE_1D          0x9062
    169 #define GL_UNSIGNED_INT_IMAGE_2D          0x9063
    170 #define GL_UNSIGNED_INT_IMAGE_3D          0x9064
    171 #define GL_UNSIGNED_INT_IMAGE_2D_RECT     0x9065
    172 #define GL_UNSIGNED_INT_IMAGE_CUBE        0x9066
    173 #define GL_UNSIGNED_INT_IMAGE_BUFFER      0x9067
    174 #define GL_UNSIGNED_INT_IMAGE_1D_ARRAY    0x9068
    175 #define GL_UNSIGNED_INT_IMAGE_2D_ARRAY    0x9069
    176 #define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
    177 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B
    178 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C
    179 
    180 #define GL_UNSIGNED_INT_ATOMIC_COUNTER    0x92DB
    181