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 #ifdef AMD_EXTENSIONS 121 #define GL_FLOAT16_SAMPLER_1D_AMD 0x91CE 122 #define GL_FLOAT16_SAMPLER_2D_AMD 0x91CF 123 #define GL_FLOAT16_SAMPLER_3D_AMD 0x91D0 124 #define GL_FLOAT16_SAMPLER_CUBE_AMD 0x91D1 125 #define GL_FLOAT16_SAMPLER_2D_RECT_AMD 0x91D2 126 #define GL_FLOAT16_SAMPLER_1D_ARRAY_AMD 0x91D3 127 #define GL_FLOAT16_SAMPLER_2D_ARRAY_AMD 0x91D4 128 #define GL_FLOAT16_SAMPLER_CUBE_MAP_ARRAY_AMD 0x91D5 129 #define GL_FLOAT16_SAMPLER_BUFFER_AMD 0x91D6 130 #define GL_FLOAT16_SAMPLER_2D_MULTISAMPLE_AMD 0x91D7 131 #define GL_FLOAT16_SAMPLER_2D_MULTISAMPLE_ARRAY_AMD 0x91D8 132 133 #define GL_FLOAT16_SAMPLER_1D_SHADOW_AMD 0x91D9 134 #define GL_FLOAT16_SAMPLER_2D_SHADOW_AMD 0x91DA 135 #define GL_FLOAT16_SAMPLER_2D_RECT_SHADOW_AMD 0x91DB 136 #define GL_FLOAT16_SAMPLER_1D_ARRAY_SHADOW_AMD 0x91DC 137 #define GL_FLOAT16_SAMPLER_2D_ARRAY_SHADOW_AMD 0x91DD 138 #define GL_FLOAT16_SAMPLER_CUBE_SHADOW_AMD 0x91DE 139 #define GL_FLOAT16_SAMPLER_CUBE_MAP_ARRAY_SHADOW_AMD 0x91DF 140 141 #define GL_FLOAT16_IMAGE_1D_AMD 0x91E0 142 #define GL_FLOAT16_IMAGE_2D_AMD 0x91E1 143 #define GL_FLOAT16_IMAGE_3D_AMD 0x91E2 144 #define GL_FLOAT16_IMAGE_2D_RECT_AMD 0x91E3 145 #define GL_FLOAT16_IMAGE_CUBE_AMD 0x91E4 146 #define GL_FLOAT16_IMAGE_1D_ARRAY_AMD 0x91E5 147 #define GL_FLOAT16_IMAGE_2D_ARRAY_AMD 0x91E6 148 #define GL_FLOAT16_IMAGE_CUBE_MAP_ARRAY_AMD 0x91E7 149 #define GL_FLOAT16_IMAGE_BUFFER_AMD 0x91E8 150 #define GL_FLOAT16_IMAGE_2D_MULTISAMPLE_AMD 0x91E9 151 #define GL_FLOAT16_IMAGE_2D_MULTISAMPLE_ARRAY_AMD 0x91EA 152 #endif 153 154 #define GL_INT_SAMPLER_1D 0x8DC9 155 #define GL_INT_SAMPLER_2D 0x8DCA 156 #define GL_INT_SAMPLER_3D 0x8DCB 157 #define GL_INT_SAMPLER_CUBE 0x8DCC 158 #define GL_INT_SAMPLER_1D_ARRAY 0x8DCE 159 #define GL_INT_SAMPLER_2D_ARRAY 0x8DCF 160 #define GL_INT_SAMPLER_2D_RECT 0x8DCD 161 #define GL_INT_SAMPLER_BUFFER 0x8DD0 162 #define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 163 #define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C 164 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E 165 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E 166 167 #define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 168 #define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 169 #define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 170 #define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 171 #define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 172 #define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 173 #define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 174 #define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 175 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D 176 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F 177 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F 178 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A 179 180 #define GL_IMAGE_1D 0x904C 181 #define GL_IMAGE_2D 0x904D 182 #define GL_IMAGE_3D 0x904E 183 #define GL_IMAGE_2D_RECT 0x904F 184 #define GL_IMAGE_CUBE 0x9050 185 #define GL_IMAGE_BUFFER 0x9051 186 #define GL_IMAGE_1D_ARRAY 0x9052 187 #define GL_IMAGE_2D_ARRAY 0x9053 188 #define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 189 #define GL_IMAGE_2D_MULTISAMPLE 0x9055 190 #define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 191 #define GL_INT_IMAGE_1D 0x9057 192 #define GL_INT_IMAGE_2D 0x9058 193 #define GL_INT_IMAGE_3D 0x9059 194 #define GL_INT_IMAGE_2D_RECT 0x905A 195 #define GL_INT_IMAGE_CUBE 0x905B 196 #define GL_INT_IMAGE_BUFFER 0x905C 197 #define GL_INT_IMAGE_1D_ARRAY 0x905D 198 #define GL_INT_IMAGE_2D_ARRAY 0x905E 199 #define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F 200 #define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 201 #define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 202 #define GL_UNSIGNED_INT_IMAGE_1D 0x9062 203 #define GL_UNSIGNED_INT_IMAGE_2D 0x9063 204 #define GL_UNSIGNED_INT_IMAGE_3D 0x9064 205 #define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 206 #define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 207 #define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 208 #define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 209 #define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 210 #define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A 211 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B 212 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C 213 214 #define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB 215