1 /* 2 ** Copyright (c) 2013-2015 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 #include "Common/GL/GLExtensions/gl_common.h" 25 26 /* multitexture */ 27 #define GL_TEXTURE0 0x84C0 28 #define GL_TEXTURE1 0x84C1 29 #define GL_TEXTURE2 0x84C2 30 #define GL_TEXTURE3 0x84C3 31 #define GL_TEXTURE4 0x84C4 32 #define GL_TEXTURE5 0x84C5 33 #define GL_TEXTURE6 0x84C6 34 #define GL_TEXTURE7 0x84C7 35 #define GL_TEXTURE8 0x84C8 36 #define GL_TEXTURE9 0x84C9 37 #define GL_TEXTURE10 0x84CA 38 #define GL_TEXTURE11 0x84CB 39 #define GL_TEXTURE12 0x84CC 40 #define GL_TEXTURE13 0x84CD 41 #define GL_TEXTURE14 0x84CE 42 #define GL_TEXTURE15 0x84CF 43 #define GL_TEXTURE16 0x84D0 44 #define GL_TEXTURE17 0x84D1 45 #define GL_TEXTURE18 0x84D2 46 #define GL_TEXTURE19 0x84D3 47 #define GL_TEXTURE20 0x84D4 48 #define GL_TEXTURE21 0x84D5 49 #define GL_TEXTURE22 0x84D6 50 #define GL_TEXTURE23 0x84D7 51 #define GL_TEXTURE24 0x84D8 52 #define GL_TEXTURE25 0x84D9 53 #define GL_TEXTURE26 0x84DA 54 #define GL_TEXTURE27 0x84DB 55 #define GL_TEXTURE28 0x84DC 56 #define GL_TEXTURE29 0x84DD 57 #define GL_TEXTURE30 0x84DE 58 #define GL_TEXTURE31 0x84DF 59 #define GL_ACTIVE_TEXTURE 0x84E0 60 #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 61 #define GL_MAX_TEXTURE_UNITS 0x84E2 62 /* texture_cube_map */ 63 #define GL_NORMAL_MAP 0x8511 64 #define GL_REFLECTION_MAP 0x8512 65 #define GL_TEXTURE_CUBE_MAP 0x8513 66 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 67 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 68 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 69 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 70 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 71 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 72 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A 73 #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B 74 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C 75 /* texture_compression */ 76 #define GL_COMPRESSED_ALPHA 0x84E9 77 #define GL_COMPRESSED_LUMINANCE 0x84EA 78 #define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB 79 #define GL_COMPRESSED_INTENSITY 0x84EC 80 #define GL_COMPRESSED_RGB 0x84ED 81 #define GL_COMPRESSED_RGBA 0x84EE 82 #define GL_TEXTURE_COMPRESSION_HINT 0x84EF 83 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 84 #define GL_TEXTURE_COMPRESSED 0x86A1 85 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 86 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 87 /* multisample */ 88 #define GL_MULTISAMPLE 0x809D 89 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E 90 #define GL_SAMPLE_ALPHA_TO_ONE 0x809F 91 #define GL_SAMPLE_COVERAGE 0x80A0 92 #define GL_SAMPLE_BUFFERS 0x80A8 93 #define GL_SAMPLES 0x80A9 94 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA 95 #define GL_SAMPLE_COVERAGE_INVERT 0x80AB 96 #define GL_MULTISAMPLE_BIT 0x20000000 97 /* transpose_matrix */ 98 #define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 99 #define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 100 #define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 101 #define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 102 /* texture_env_combine */ 103 #define GL_COMBINE 0x8570 104 #define GL_COMBINE_RGB 0x8571 105 #define GL_COMBINE_ALPHA 0x8572 106 #define GL_SOURCE0_RGB 0x8580 107 #define GL_SOURCE1_RGB 0x8581 108 #define GL_SOURCE2_RGB 0x8582 109 #define GL_SOURCE0_ALPHA 0x8588 110 #define GL_SOURCE1_ALPHA 0x8589 111 #define GL_SOURCE2_ALPHA 0x858A 112 #define GL_OPERAND0_RGB 0x8590 113 #define GL_OPERAND1_RGB 0x8591 114 #define GL_OPERAND2_RGB 0x8592 115 #define GL_OPERAND0_ALPHA 0x8598 116 #define GL_OPERAND1_ALPHA 0x8599 117 #define GL_OPERAND2_ALPHA 0x859A 118 #define GL_RGB_SCALE 0x8573 119 #define GL_ADD_SIGNED 0x8574 120 #define GL_INTERPOLATE 0x8575 121 #define GL_SUBTRACT 0x84E7 122 #define GL_CONSTANT 0x8576 123 #define GL_PRIMARY_COLOR 0x8577 124 #define GL_PREVIOUS 0x8578 125 /* texture_env_dot3 */ 126 #define GL_DOT3_RGB 0x86AE 127 #define GL_DOT3_RGBA 0x86AF 128 /* texture_border_clamp */ 129 #define GL_CLAMP_TO_BORDER 0x812D 130 131 typedef void(APIENTRYP PFNDOLACTIVETEXTUREPROC)(GLenum texture); 132 typedef void(APIENTRYP PFNDOLSAMPLECOVERAGEPROC)(GLclampf value, GLboolean invert); 133 typedef void(APIENTRYP PFNDOLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, 134 GLenum internalformat, GLsizei width, 135 GLsizei height, GLsizei depth, GLint border, 136 GLsizei imageSize, const GLvoid* data); 137 typedef void(APIENTRYP PFNDOLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, 138 GLenum internalformat, GLsizei width, 139 GLsizei height, GLint border, 140 GLsizei imageSize, const GLvoid* data); 141 typedef void(APIENTRYP PFNDOLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, 142 GLenum internalformat, GLsizei width, 143 GLint border, GLsizei imageSize, 144 const GLvoid* data); 145 typedef void(APIENTRYP PFNDOLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, 146 GLint yoffset, GLint zoffset, 147 GLsizei width, GLsizei height, 148 GLsizei depth, GLenum format, 149 GLsizei imageSize, const GLvoid* data); 150 typedef void(APIENTRYP PFNDOLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, 151 GLint yoffset, GLsizei width, 152 GLsizei height, GLenum format, 153 GLsizei imageSize, const GLvoid* data); 154 typedef void(APIENTRYP PFNDOLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, 155 GLsizei width, GLenum format, 156 GLsizei imageSize, const GLvoid* data); 157 typedef void(APIENTRYP PFNDOLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint level, GLvoid* img); 158 159 typedef void(APIENTRYP PFNDOLACTIVETEXTUREARBPROC)(GLenum texture); 160 typedef void(APIENTRYP PFNDOLCLIENTACTIVETEXTUREARBPROC)(GLenum texture); 161 typedef void(APIENTRYP PFNDOLMULTITEXCOORD1DARBPROC)(GLenum target, GLdouble s); 162 typedef void(APIENTRYP PFNDOLMULTITEXCOORD1DVARBPROC)(GLenum target, const GLdouble* v); 163 typedef void(APIENTRYP PFNDOLMULTITEXCOORD1FARBPROC)(GLenum target, GLfloat s); 164 typedef void(APIENTRYP PFNDOLMULTITEXCOORD1FVARBPROC)(GLenum target, const GLfloat* v); 165 typedef void(APIENTRYP PFNDOLMULTITEXCOORD1IARBPROC)(GLenum target, GLint s); 166 typedef void(APIENTRYP PFNDOLMULTITEXCOORD1IVARBPROC)(GLenum target, const GLint* v); 167 typedef void(APIENTRYP PFNDOLMULTITEXCOORD1SARBPROC)(GLenum target, GLshort s); 168 typedef void(APIENTRYP PFNDOLMULTITEXCOORD1SVARBPROC)(GLenum target, const GLshort* v); 169 typedef void(APIENTRYP PFNDOLMULTITEXCOORD2DARBPROC)(GLenum target, GLdouble s, GLdouble t); 170 typedef void(APIENTRYP PFNDOLMULTITEXCOORD2DVARBPROC)(GLenum target, const GLdouble* v); 171 typedef void(APIENTRYP PFNDOLMULTITEXCOORD2FARBPROC)(GLenum target, GLfloat s, GLfloat t); 172 typedef void(APIENTRYP PFNDOLMULTITEXCOORD2FVARBPROC)(GLenum target, const GLfloat* v); 173 typedef void(APIENTRYP PFNDOLMULTITEXCOORD2IARBPROC)(GLenum target, GLint s, GLint t); 174 typedef void(APIENTRYP PFNDOLMULTITEXCOORD2IVARBPROC)(GLenum target, const GLint* v); 175 typedef void(APIENTRYP PFNDOLMULTITEXCOORD2SARBPROC)(GLenum target, GLshort s, GLshort t); 176 typedef void(APIENTRYP PFNDOLMULTITEXCOORD2SVARBPROC)(GLenum target, const GLshort* v); 177 typedef void(APIENTRYP PFNDOLMULTITEXCOORD3DARBPROC)(GLenum target, GLdouble s, GLdouble t, 178 GLdouble r); 179 typedef void(APIENTRYP PFNDOLMULTITEXCOORD3DVARBPROC)(GLenum target, const GLdouble* v); 180 typedef void(APIENTRYP PFNDOLMULTITEXCOORD3FARBPROC)(GLenum target, GLfloat s, GLfloat t, 181 GLfloat r); 182 typedef void(APIENTRYP PFNDOLMULTITEXCOORD3FVARBPROC)(GLenum target, const GLfloat* v); 183 typedef void(APIENTRYP PFNDOLMULTITEXCOORD3IARBPROC)(GLenum target, GLint s, GLint t, GLint r); 184 typedef void(APIENTRYP PFNDOLMULTITEXCOORD3IVARBPROC)(GLenum target, const GLint* v); 185 typedef void(APIENTRYP PFNDOLMULTITEXCOORD3SARBPROC)(GLenum target, GLshort s, GLshort t, 186 GLshort r); 187 typedef void(APIENTRYP PFNDOLMULTITEXCOORD3SVARBPROC)(GLenum target, const GLshort* v); 188 typedef void(APIENTRYP PFNDOLMULTITEXCOORD4DARBPROC)(GLenum target, GLdouble s, GLdouble t, 189 GLdouble r, GLdouble q); 190 typedef void(APIENTRYP PFNDOLMULTITEXCOORD4DVARBPROC)(GLenum target, const GLdouble* v); 191 typedef void(APIENTRYP PFNDOLMULTITEXCOORD4FARBPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r, 192 GLfloat q); 193 typedef void(APIENTRYP PFNDOLMULTITEXCOORD4FVARBPROC)(GLenum target, const GLfloat* v); 194 typedef void(APIENTRYP PFNDOLMULTITEXCOORD4IARBPROC)(GLenum target, GLint s, GLint t, GLint r, 195 GLint q); 196 typedef void(APIENTRYP PFNDOLMULTITEXCOORD4IVARBPROC)(GLenum target, const GLint* v); 197 typedef void(APIENTRYP PFNDOLMULTITEXCOORD4SARBPROC)(GLenum target, GLshort s, GLshort t, GLshort r, 198 GLshort q); 199 typedef void(APIENTRYP PFNDOLMULTITEXCOORD4SVARBPROC)(GLenum target, const GLshort* v); 200 typedef void(APIENTRYP PFNDOLLOADTRANSPOSEMATRIXFARBPROC)(const GLfloat* m); 201 typedef void(APIENTRYP PFNDOLLOADTRANSPOSEMATRIXDARBPROC)(const GLdouble* m); 202 typedef void(APIENTRYP PFNDOLMULTTRANSPOSEMATRIXFARBPROC)(const GLfloat* m); 203 typedef void(APIENTRYP PFNDOLMULTTRANSPOSEMATRIXDARBPROC)(const GLdouble* m); 204 typedef void(APIENTRYP PFNDOLSAMPLECOVERAGEARBPROC)(GLfloat value, GLboolean invert); 205 206 extern PFNDOLACTIVETEXTUREARBPROC dolActiveTexture; 207 extern PFNDOLCLIENTACTIVETEXTUREARBPROC dolClientActiveTexture; 208 extern PFNDOLCOMPRESSEDTEXIMAGE1DPROC dolCompressedTexImage1D; 209 extern PFNDOLCOMPRESSEDTEXIMAGE2DPROC dolCompressedTexImage2D; 210 extern PFNDOLCOMPRESSEDTEXIMAGE3DPROC dolCompressedTexImage3D; 211 extern PFNDOLCOMPRESSEDTEXSUBIMAGE1DPROC dolCompressedTexSubImage1D; 212 extern PFNDOLCOMPRESSEDTEXSUBIMAGE2DPROC dolCompressedTexSubImage2D; 213 extern PFNDOLCOMPRESSEDTEXSUBIMAGE3DPROC dolCompressedTexSubImage3D; 214 extern PFNDOLGETCOMPRESSEDTEXIMAGEPROC dolGetCompressedTexImage; 215 extern PFNDOLLOADTRANSPOSEMATRIXDARBPROC dolLoadTransposeMatrixd; 216 extern PFNDOLLOADTRANSPOSEMATRIXFARBPROC dolLoadTransposeMatrixf; 217 extern PFNDOLMULTTRANSPOSEMATRIXDARBPROC dolMultTransposeMatrixd; 218 extern PFNDOLMULTTRANSPOSEMATRIXFARBPROC dolMultTransposeMatrixf; 219 extern PFNDOLMULTITEXCOORD1DARBPROC dolMultiTexCoord1d; 220 extern PFNDOLMULTITEXCOORD1DVARBPROC dolMultiTexCoord1dv; 221 extern PFNDOLMULTITEXCOORD1FARBPROC dolMultiTexCoord1f; 222 extern PFNDOLMULTITEXCOORD1FVARBPROC dolMultiTexCoord1fv; 223 extern PFNDOLMULTITEXCOORD1IARBPROC dolMultiTexCoord1i; 224 extern PFNDOLMULTITEXCOORD1IVARBPROC dolMultiTexCoord1iv; 225 extern PFNDOLMULTITEXCOORD1SARBPROC dolMultiTexCoord1s; 226 extern PFNDOLMULTITEXCOORD1SVARBPROC dolMultiTexCoord1sv; 227 extern PFNDOLMULTITEXCOORD2DARBPROC dolMultiTexCoord2d; 228 extern PFNDOLMULTITEXCOORD2DVARBPROC dolMultiTexCoord2dv; 229 extern PFNDOLMULTITEXCOORD2FARBPROC dolMultiTexCoord2f; 230 extern PFNDOLMULTITEXCOORD2FVARBPROC dolMultiTexCoord2fv; 231 extern PFNDOLMULTITEXCOORD2IARBPROC dolMultiTexCoord2i; 232 extern PFNDOLMULTITEXCOORD2IVARBPROC dolMultiTexCoord2iv; 233 extern PFNDOLMULTITEXCOORD2SARBPROC dolMultiTexCoord2s; 234 extern PFNDOLMULTITEXCOORD2SVARBPROC dolMultiTexCoord2sv; 235 extern PFNDOLMULTITEXCOORD3DARBPROC dolMultiTexCoord3d; 236 extern PFNDOLMULTITEXCOORD3DVARBPROC dolMultiTexCoord3dv; 237 extern PFNDOLMULTITEXCOORD3FARBPROC dolMultiTexCoord3f; 238 extern PFNDOLMULTITEXCOORD3FVARBPROC dolMultiTexCoord3fv; 239 extern PFNDOLMULTITEXCOORD3IARBPROC dolMultiTexCoord3i; 240 extern PFNDOLMULTITEXCOORD3IVARBPROC dolMultiTexCoord3iv; 241 extern PFNDOLMULTITEXCOORD3SARBPROC dolMultiTexCoord3s; 242 extern PFNDOLMULTITEXCOORD3SVARBPROC dolMultiTexCoord3sv; 243 extern PFNDOLMULTITEXCOORD4DARBPROC dolMultiTexCoord4d; 244 extern PFNDOLMULTITEXCOORD4DVARBPROC dolMultiTexCoord4dv; 245 extern PFNDOLMULTITEXCOORD4FARBPROC dolMultiTexCoord4f; 246 extern PFNDOLMULTITEXCOORD4FVARBPROC dolMultiTexCoord4fv; 247 extern PFNDOLMULTITEXCOORD4IARBPROC dolMultiTexCoord4i; 248 extern PFNDOLMULTITEXCOORD4IVARBPROC dolMultiTexCoord4iv; 249 extern PFNDOLMULTITEXCOORD4SARBPROC dolMultiTexCoord4s; 250 extern PFNDOLMULTITEXCOORD4SVARBPROC dolMultiTexCoord4sv; 251 extern PFNDOLSAMPLECOVERAGEARBPROC dolSampleCoverage; 252 253 #define glActiveTexture dolActiveTexture 254 #define glClientActiveTexture dolClientActiveTexture 255 #define glCompressedTexImage1D dolCompressedTexImage1D 256 #define glCompressedTexImage2D dolCompressedTexImage2D 257 #define glCompressedTexImage3D dolCompressedTexImage3D 258 #define glCompressedTexSubImage1D dolCompressedTexSubImage1D 259 #define glCompressedTexSubImage2D dolCompressedTexSubImage2D 260 #define glCompressedTexSubImage3D dolCompressedTexSubImage3D 261 #define glGetCompressedTexImage dolGetCompressedTexImage 262 #define glLoadTransposeMatrixd dolLoadTransposeMatrixd 263 #define glLoadTransposeMatrixf dolLoadTransposeMatrixf 264 #define glMultTransposeMatrixd dolMultTransposeMatrixd 265 #define glMultTransposeMatrixf dolMultTransposeMatrixf 266 #define glMultiTexCoord1d dolMultiTexCoord1d 267 #define glMultiTexCoord1dv dolMultiTexCoord1dv 268 #define glMultiTexCoord1f dolMultiTexCoord1f 269 #define glMultiTexCoord1fv dolMultiTexCoord1fv 270 #define glMultiTexCoord1i dolMultiTexCoord1i 271 #define glMultiTexCoord1iv dolMultiTexCoord1iv 272 #define glMultiTexCoord1s dolMultiTexCoord1s 273 #define glMultiTexCoord1sv dolMultiTexCoord1sv 274 #define glMultiTexCoord2d dolMultiTexCoord2d 275 #define glMultiTexCoord2dv dolMultiTexCoord2dv 276 #define glMultiTexCoord2f dolMultiTexCoord2f 277 #define glMultiTexCoord2fv dolMultiTexCoord2fv 278 #define glMultiTexCoord2i dolMultiTexCoord2i 279 #define glMultiTexCoord2iv dolMultiTexCoord2iv 280 #define glMultiTexCoord2s dolMultiTexCoord2s 281 #define glMultiTexCoord2sv dolMultiTexCoord2sv 282 #define glMultiTexCoord3d dolMultiTexCoord3d 283 #define glMultiTexCoord3dv dolMultiTexCoord3dv 284 #define glMultiTexCoord3f dolMultiTexCoord3f 285 #define glMultiTexCoord3fv dolMultiTexCoord3fv 286 #define glMultiTexCoord3i dolMultiTexCoord3i 287 #define glMultiTexCoord3iv dolMultiTexCoord3iv 288 #define glMultiTexCoord3s dolMultiTexCoord3s 289 #define glMultiTexCoord3sv dolMultiTexCoord3sv 290 #define glMultiTexCoord4d dolMultiTexCoord4d 291 #define glMultiTexCoord4dv dolMultiTexCoord4dv 292 #define glMultiTexCoord4f dolMultiTexCoord4f 293 #define glMultiTexCoord4fv dolMultiTexCoord4fv 294 #define glMultiTexCoord4i dolMultiTexCoord4i 295 #define glMultiTexCoord4iv dolMultiTexCoord4iv 296 #define glMultiTexCoord4s dolMultiTexCoord4s 297 #define glMultiTexCoord4sv dolMultiTexCoord4sv 298 #define glSampleCoverage dolSampleCoverage 299