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