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 #define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 56 #define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 57 #define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 58 59 #define GL_INT16_NV 0x8FE4 60 #define GL_INT16_VEC2_NV 0x8FE5 61 #define GL_INT16_VEC3_NV 0x8FE6 62 #define GL_INT16_VEC4_NV 0x8FE7 63 64 #define GL_BOOL 0x8B56 65 #define GL_BOOL_VEC2 0x8B57 66 #define GL_BOOL_VEC3 0x8B58 67 #define GL_BOOL_VEC4 0x8B59 68 69 #define GL_FLOAT_MAT2 0x8B5A 70 #define GL_FLOAT_MAT3 0x8B5B 71 #define GL_FLOAT_MAT4 0x8B5C 72 #define GL_FLOAT_MAT2x3 0x8B65 73 #define GL_FLOAT_MAT2x4 0x8B66 74 #define GL_FLOAT_MAT3x2 0x8B67 75 #define GL_FLOAT_MAT3x4 0x8B68 76 #define GL_FLOAT_MAT4x2 0x8B69 77 #define GL_FLOAT_MAT4x3 0x8B6A 78 79 #define GL_DOUBLE_MAT2 0x8F46 80 #define GL_DOUBLE_MAT3 0x8F47 81 #define GL_DOUBLE_MAT4 0x8F48 82 #define GL_DOUBLE_MAT2x3 0x8F49 83 #define GL_DOUBLE_MAT2x4 0x8F4A 84 #define GL_DOUBLE_MAT3x2 0x8F4B 85 #define GL_DOUBLE_MAT3x4 0x8F4C 86 #define GL_DOUBLE_MAT4x2 0x8F4D 87 #define GL_DOUBLE_MAT4x3 0x8F4E 88 89 // Those constants are borrowed from extension NV_gpu_shader5 90 #define GL_FLOAT16_NV 0x8FF8 91 #define GL_FLOAT16_VEC2_NV 0x8FF9 92 #define GL_FLOAT16_VEC3_NV 0x8FFA 93 #define GL_FLOAT16_VEC4_NV 0x8FFB 94 95 #define GL_FLOAT16_MAT2_AMD 0x91C5 96 #define GL_FLOAT16_MAT3_AMD 0x91C6 97 #define GL_FLOAT16_MAT4_AMD 0x91C7 98 #define GL_FLOAT16_MAT2x3_AMD 0x91C8 99 #define GL_FLOAT16_MAT2x4_AMD 0x91C9 100 #define GL_FLOAT16_MAT3x2_AMD 0x91CA 101 #define GL_FLOAT16_MAT3x4_AMD 0x91CB 102 #define GL_FLOAT16_MAT4x2_AMD 0x91CC 103 #define GL_FLOAT16_MAT4x3_AMD 0x91CD 104 105 #define GL_SAMPLER_1D 0x8B5D 106 #define GL_SAMPLER_2D 0x8B5E 107 #define GL_SAMPLER_3D 0x8B5F 108 #define GL_SAMPLER_CUBE 0x8B60 109 #define GL_SAMPLER_BUFFER 0x8DC2 110 #define GL_SAMPLER_1D_ARRAY 0x8DC0 111 #define GL_SAMPLER_2D_ARRAY 0x8DC1 112 #define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 113 #define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 114 #define GL_SAMPLER_CUBE_SHADOW 0x8DC5 115 #define GL_SAMPLER_1D_SHADOW 0x8B61 116 #define GL_SAMPLER_2D_SHADOW 0x8B62 117 #define GL_SAMPLER_2D_RECT 0x8B63 118 #define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 119 #define GL_SAMPLER_2D_MULTISAMPLE 0x9108 120 #define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B 121 #define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C 122 #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D 123 #define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C 124 #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D 125 126 #define GL_FLOAT16_SAMPLER_1D_AMD 0x91CE 127 #define GL_FLOAT16_SAMPLER_2D_AMD 0x91CF 128 #define GL_FLOAT16_SAMPLER_3D_AMD 0x91D0 129 #define GL_FLOAT16_SAMPLER_CUBE_AMD 0x91D1 130 #define GL_FLOAT16_SAMPLER_2D_RECT_AMD 0x91D2 131 #define GL_FLOAT16_SAMPLER_1D_ARRAY_AMD 0x91D3 132 #define GL_FLOAT16_SAMPLER_2D_ARRAY_AMD 0x91D4 133 #define GL_FLOAT16_SAMPLER_CUBE_MAP_ARRAY_AMD 0x91D5 134 #define GL_FLOAT16_SAMPLER_BUFFER_AMD 0x91D6 135 #define GL_FLOAT16_SAMPLER_2D_MULTISAMPLE_AMD 0x91D7 136 #define GL_FLOAT16_SAMPLER_2D_MULTISAMPLE_ARRAY_AMD 0x91D8 137 138 #define GL_FLOAT16_SAMPLER_1D_SHADOW_AMD 0x91D9 139 #define GL_FLOAT16_SAMPLER_2D_SHADOW_AMD 0x91DA 140 #define GL_FLOAT16_SAMPLER_2D_RECT_SHADOW_AMD 0x91DB 141 #define GL_FLOAT16_SAMPLER_1D_ARRAY_SHADOW_AMD 0x91DC 142 #define GL_FLOAT16_SAMPLER_2D_ARRAY_SHADOW_AMD 0x91DD 143 #define GL_FLOAT16_SAMPLER_CUBE_SHADOW_AMD 0x91DE 144 #define GL_FLOAT16_SAMPLER_CUBE_MAP_ARRAY_SHADOW_AMD 0x91DF 145 146 #define GL_FLOAT16_IMAGE_1D_AMD 0x91E0 147 #define GL_FLOAT16_IMAGE_2D_AMD 0x91E1 148 #define GL_FLOAT16_IMAGE_3D_AMD 0x91E2 149 #define GL_FLOAT16_IMAGE_2D_RECT_AMD 0x91E3 150 #define GL_FLOAT16_IMAGE_CUBE_AMD 0x91E4 151 #define GL_FLOAT16_IMAGE_1D_ARRAY_AMD 0x91E5 152 #define GL_FLOAT16_IMAGE_2D_ARRAY_AMD 0x91E6 153 #define GL_FLOAT16_IMAGE_CUBE_MAP_ARRAY_AMD 0x91E7 154 #define GL_FLOAT16_IMAGE_BUFFER_AMD 0x91E8 155 #define GL_FLOAT16_IMAGE_2D_MULTISAMPLE_AMD 0x91E9 156 #define GL_FLOAT16_IMAGE_2D_MULTISAMPLE_ARRAY_AMD 0x91EA 157 158 #define GL_INT_SAMPLER_1D 0x8DC9 159 #define GL_INT_SAMPLER_2D 0x8DCA 160 #define GL_INT_SAMPLER_3D 0x8DCB 161 #define GL_INT_SAMPLER_CUBE 0x8DCC 162 #define GL_INT_SAMPLER_1D_ARRAY 0x8DCE 163 #define GL_INT_SAMPLER_2D_ARRAY 0x8DCF 164 #define GL_INT_SAMPLER_2D_RECT 0x8DCD 165 #define GL_INT_SAMPLER_BUFFER 0x8DD0 166 #define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 167 #define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C 168 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E 169 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E 170 171 #define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 172 #define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 173 #define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 174 #define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 175 #define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 176 #define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 177 #define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 178 #define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 179 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D 180 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F 181 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F 182 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A 183 184 #define GL_IMAGE_1D 0x904C 185 #define GL_IMAGE_2D 0x904D 186 #define GL_IMAGE_3D 0x904E 187 #define GL_IMAGE_2D_RECT 0x904F 188 #define GL_IMAGE_CUBE 0x9050 189 #define GL_IMAGE_BUFFER 0x9051 190 #define GL_IMAGE_1D_ARRAY 0x9052 191 #define GL_IMAGE_2D_ARRAY 0x9053 192 #define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 193 #define GL_IMAGE_2D_MULTISAMPLE 0x9055 194 #define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 195 #define GL_INT_IMAGE_1D 0x9057 196 #define GL_INT_IMAGE_2D 0x9058 197 #define GL_INT_IMAGE_3D 0x9059 198 #define GL_INT_IMAGE_2D_RECT 0x905A 199 #define GL_INT_IMAGE_CUBE 0x905B 200 #define GL_INT_IMAGE_BUFFER 0x905C 201 #define GL_INT_IMAGE_1D_ARRAY 0x905D 202 #define GL_INT_IMAGE_2D_ARRAY 0x905E 203 #define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F 204 #define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 205 #define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 206 #define GL_UNSIGNED_INT_IMAGE_1D 0x9062 207 #define GL_UNSIGNED_INT_IMAGE_2D 0x9063 208 #define GL_UNSIGNED_INT_IMAGE_3D 0x9064 209 #define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 210 #define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 211 #define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 212 #define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 213 #define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 214 #define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A 215 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B 216 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C 217 218 #define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB 219