SDL Library
Embed:
(wiki syntax)
Show/hide line numbers
SDL_opengles2.h
00001 /* 00002 Simple DirectMedia Layer 00003 Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org> 00004 00005 This software is provided 'as-is', without any express or implied 00006 warranty. In no event will the authors be held liable for any damages 00007 arising from the use of this software. 00008 00009 Permission is granted to anyone to use this software for any purpose, 00010 including commercial applications, and to alter it and redistribute it 00011 freely, subject to the following restrictions: 00012 00013 1. The origin of this software must not be misrepresented; you must not 00014 claim that you wrote the original software. If you use this software 00015 in a product, an acknowledgment in the product documentation would be 00016 appreciated but is not required. 00017 2. Altered source versions must be plainly marked as such, and must not be 00018 misrepresented as being the original software. 00019 3. This notice may not be removed or altered from any source distribution. 00020 */ 00021 00022 /** 00023 * \file SDL_opengles.h 00024 * 00025 * This is a simple file to encapsulate the OpenGL ES 2.0 API headers. 00026 */ 00027 #ifndef _MSC_VER 00028 #ifdef __IPHONEOS__ 00029 #include <OpenGLES/ES2/gl.h> 00030 #include <OpenGLES/ES2/glext.h> 00031 #else 00032 #include <GLES2/gl2.h> 00033 #include <GLES2/gl2ext.h> 00034 #endif 00035 00036 #else /* _MSC_VER */ 00037 00038 /* OpenGL ES2 headers for Visual Studio */ 00039 00040 #ifndef __khrplatform_h_ 00041 #define __khrplatform_h_ 00042 00043 /* 00044 ** Copyright (c) 2008-2009 The Khronos Group Inc. 00045 ** 00046 ** Permission is hereby granted, free of charge, to any person obtaining a 00047 ** copy of this software and/or associated documentation files (the 00048 ** "Materials"), to deal in the Materials without restriction, including 00049 ** without limitation the rights to use, copy, modify, merge, publish, 00050 ** distribute, sublicense, and/or sell copies of the Materials, and to 00051 ** permit persons to whom the Materials are furnished to do so, subject to 00052 ** the following conditions: 00053 ** 00054 ** The above copyright notice and this permission notice shall be included 00055 ** in all copies or substantial portions of the Materials. 00056 ** 00057 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 00058 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00059 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 00060 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 00061 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 00062 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 00063 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 00064 */ 00065 00066 /* Khronos platform-specific types and definitions. 00067 * 00068 * $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $ 00069 * 00070 * Adopters may modify this file to suit their platform. Adopters are 00071 * encouraged to submit platform specific modifications to the Khronos 00072 * group so that they can be included in future versions of this file. 00073 * Please submit changes by sending them to the public Khronos Bugzilla 00074 * (http://khronos.org/bugzilla) by filing a bug against product 00075 * "Khronos (general)" component "Registry". 00076 * 00077 * A predefined template which fills in some of the bug fields can be 00078 * reached using http://tinyurl.com/khrplatform-h-bugreport, but you 00079 * must create a Bugzilla login first. 00080 * 00081 * 00082 * See the Implementer's Guidelines for information about where this file 00083 * should be located on your system and for more details of its use: 00084 * http://www.khronos.org/registry/implementers_guide.pdf 00085 * 00086 * This file should be included as 00087 * #include <KHR/khrplatform.h> 00088 * by Khronos client API header files that use its types and defines. 00089 * 00090 * The types in khrplatform.h should only be used to define API-specific types. 00091 * 00092 * Types defined in khrplatform.h: 00093 * khronos_int8_t signed 8 bit 00094 * khronos_uint8_t unsigned 8 bit 00095 * khronos_int16_t signed 16 bit 00096 * khronos_uint16_t unsigned 16 bit 00097 * khronos_int32_t signed 32 bit 00098 * khronos_uint32_t unsigned 32 bit 00099 * khronos_int64_t signed 64 bit 00100 * khronos_uint64_t unsigned 64 bit 00101 * khronos_intptr_t signed same number of bits as a pointer 00102 * khronos_uintptr_t unsigned same number of bits as a pointer 00103 * khronos_ssize_t signed size 00104 * khronos_usize_t unsigned size 00105 * khronos_float_t signed 32 bit floating point 00106 * khronos_time_ns_t unsigned 64 bit time in nanoseconds 00107 * khronos_utime_nanoseconds_t unsigned time interval or absolute time in 00108 * nanoseconds 00109 * khronos_stime_nanoseconds_t signed time interval in nanoseconds 00110 * khronos_boolean_enum_t enumerated boolean type. This should 00111 * only be used as a base type when a client API's boolean type is 00112 * an enum. Client APIs which use an integer or other type for 00113 * booleans cannot use this as the base type for their boolean. 00114 * 00115 * Tokens defined in khrplatform.h: 00116 * 00117 * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values. 00118 * 00119 * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0. 00120 * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0. 00121 * 00122 * Calling convention macros defined in this file: 00123 * KHRONOS_APICALL 00124 * KHRONOS_APIENTRY 00125 * KHRONOS_APIATTRIBUTES 00126 * 00127 * These may be used in function prototypes as: 00128 * 00129 * KHRONOS_APICALL void KHRONOS_APIENTRY funcname( 00130 * int arg1, 00131 * int arg2) KHRONOS_APIATTRIBUTES; 00132 */ 00133 00134 /*------------------------------------------------------------------------- 00135 * Definition of KHRONOS_APICALL 00136 *------------------------------------------------------------------------- 00137 * This precedes the return type of the function in the function prototype. 00138 */ 00139 #if defined(_WIN32) && !defined(__SCITECH_SNAP__) 00140 # define KHRONOS_APICALL __declspec(dllimport) 00141 #elif defined (__SYMBIAN32__) 00142 # define KHRONOS_APICALL IMPORT_C 00143 #else 00144 # define KHRONOS_APICALL 00145 #endif 00146 00147 /*------------------------------------------------------------------------- 00148 * Definition of KHRONOS_APIENTRY 00149 *------------------------------------------------------------------------- 00150 * This follows the return type of the function and precedes the function 00151 * name in the function prototype. 00152 */ 00153 #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) 00154 /* Win32 but not WinCE */ 00155 # define KHRONOS_APIENTRY __stdcall 00156 #else 00157 # define KHRONOS_APIENTRY 00158 #endif 00159 00160 /*------------------------------------------------------------------------- 00161 * Definition of KHRONOS_APIATTRIBUTES 00162 *------------------------------------------------------------------------- 00163 * This follows the closing parenthesis of the function prototype arguments. 00164 */ 00165 #if defined (__ARMCC_2__) 00166 #define KHRONOS_APIATTRIBUTES __softfp 00167 #else 00168 #define KHRONOS_APIATTRIBUTES 00169 #endif 00170 00171 /*------------------------------------------------------------------------- 00172 * basic type definitions 00173 *-----------------------------------------------------------------------*/ 00174 #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) 00175 00176 00177 /* 00178 * Using <stdint.h> 00179 */ 00180 #include <stdint.h> 00181 typedef int32_t khronos_int32_t; 00182 typedef uint32_t khronos_uint32_t; 00183 typedef int64_t khronos_int64_t; 00184 typedef uint64_t khronos_uint64_t; 00185 #define KHRONOS_SUPPORT_INT64 1 00186 #define KHRONOS_SUPPORT_FLOAT 1 00187 00188 #elif defined(__VMS ) || defined(__sgi) 00189 00190 /* 00191 * Using <inttypes.h> 00192 */ 00193 #include <inttypes.h> 00194 typedef int32_t khronos_int32_t; 00195 typedef uint32_t khronos_uint32_t; 00196 typedef int64_t khronos_int64_t; 00197 typedef uint64_t khronos_uint64_t; 00198 #define KHRONOS_SUPPORT_INT64 1 00199 #define KHRONOS_SUPPORT_FLOAT 1 00200 00201 #elif defined(_WIN32) && !defined(__SCITECH_SNAP__) 00202 00203 /* 00204 * Win32 00205 */ 00206 typedef __int32 khronos_int32_t; 00207 typedef unsigned __int32 khronos_uint32_t; 00208 typedef __int64 khronos_int64_t; 00209 typedef unsigned __int64 khronos_uint64_t; 00210 #define KHRONOS_SUPPORT_INT64 1 00211 #define KHRONOS_SUPPORT_FLOAT 1 00212 00213 #elif defined(__sun__) || defined(__digital__) 00214 00215 /* 00216 * Sun or Digital 00217 */ 00218 typedef int khronos_int32_t; 00219 typedef unsigned int khronos_uint32_t; 00220 #if defined(__arch64__) || defined(_LP64) 00221 typedef long int khronos_int64_t; 00222 typedef unsigned long int khronos_uint64_t; 00223 #else 00224 typedef long long int khronos_int64_t; 00225 typedef unsigned long long int khronos_uint64_t; 00226 #endif /* __arch64__ */ 00227 #define KHRONOS_SUPPORT_INT64 1 00228 #define KHRONOS_SUPPORT_FLOAT 1 00229 00230 #elif 0 00231 00232 /* 00233 * Hypothetical platform with no float or int64 support 00234 */ 00235 typedef int khronos_int32_t; 00236 typedef unsigned int khronos_uint32_t; 00237 #define KHRONOS_SUPPORT_INT64 0 00238 #define KHRONOS_SUPPORT_FLOAT 0 00239 00240 #else 00241 00242 /* 00243 * Generic fallback 00244 */ 00245 #include <stdint.h> 00246 typedef int32_t khronos_int32_t; 00247 typedef uint32_t khronos_uint32_t; 00248 typedef int64_t khronos_int64_t; 00249 typedef uint64_t khronos_uint64_t; 00250 #define KHRONOS_SUPPORT_INT64 1 00251 #define KHRONOS_SUPPORT_FLOAT 1 00252 00253 #endif 00254 00255 00256 /* 00257 * Types that are (so far) the same on all platforms 00258 */ 00259 typedef signed char khronos_int8_t; 00260 typedef unsigned char khronos_uint8_t; 00261 typedef signed short int khronos_int16_t; 00262 typedef unsigned short int khronos_uint16_t; 00263 00264 /* 00265 * Types that differ between LLP64 and LP64 architectures - in LLP64, 00266 * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears 00267 * to be the only LLP64 architecture in current use. 00268 */ 00269 #ifdef _WIN64 00270 typedef signed long long int khronos_intptr_t; 00271 typedef unsigned long long int khronos_uintptr_t; 00272 typedef signed long long int khronos_ssize_t; 00273 typedef unsigned long long int khronos_usize_t; 00274 #else 00275 typedef signed long int khronos_intptr_t; 00276 typedef unsigned long int khronos_uintptr_t; 00277 typedef signed long int khronos_ssize_t; 00278 typedef unsigned long int khronos_usize_t; 00279 #endif 00280 00281 #if KHRONOS_SUPPORT_FLOAT 00282 /* 00283 * Float type 00284 */ 00285 typedef float khronos_float_t; 00286 #endif 00287 00288 #if KHRONOS_SUPPORT_INT64 00289 /* Time types 00290 * 00291 * These types can be used to represent a time interval in nanoseconds or 00292 * an absolute Unadjusted System Time. Unadjusted System Time is the number 00293 * of nanoseconds since some arbitrary system event (e.g. since the last 00294 * time the system booted). The Unadjusted System Time is an unsigned 00295 * 64 bit value that wraps back to 0 every 584 years. Time intervals 00296 * may be either signed or unsigned. 00297 */ 00298 typedef khronos_uint64_t khronos_utime_nanoseconds_t; 00299 typedef khronos_int64_t khronos_stime_nanoseconds_t; 00300 #endif 00301 00302 /* 00303 * Dummy value used to pad enum types to 32 bits. 00304 */ 00305 #ifndef KHRONOS_MAX_ENUM 00306 #define KHRONOS_MAX_ENUM 0x7FFFFFFF 00307 #endif 00308 00309 /* 00310 * Enumerated boolean type 00311 * 00312 * Values other than zero should be considered to be true. Therefore 00313 * comparisons should not be made against KHRONOS_TRUE. 00314 */ 00315 typedef enum { 00316 KHRONOS_FALSE = 0, 00317 KHRONOS_TRUE = 1, 00318 KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM 00319 } khronos_boolean_enum_t; 00320 00321 #endif /* __khrplatform_h_ */ 00322 00323 00324 #ifndef __gl2platform_h_ 00325 #define __gl2platform_h_ 00326 00327 /* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */ 00328 00329 /* 00330 * This document is licensed under the SGI Free Software B License Version 00331 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 00332 */ 00333 00334 /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h 00335 * 00336 * Adopters may modify khrplatform.h and this file to suit their platform. 00337 * You are encouraged to submit all modifications to the Khronos group so that 00338 * they can be included in future versions of this file. Please submit changes 00339 * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) 00340 * by filing a bug against product "OpenGL-ES" component "Registry". 00341 */ 00342 00343 /*#include <KHR/khrplatform.h>*/ 00344 00345 #ifndef GL_APICALL 00346 #define GL_APICALL KHRONOS_APICALL 00347 #endif 00348 00349 #ifndef GL_APIENTRY 00350 #define GL_APIENTRY KHRONOS_APIENTRY 00351 #endif 00352 00353 #endif /* __gl2platform_h_ */ 00354 00355 #ifndef __gl2_h_ 00356 #define __gl2_h_ 00357 00358 /* $Revision: 16803 $ on $Date:: 2012-02-02 09:49:18 -0800 #$ */ 00359 00360 /*#include <GLES2/gl2platform.h>*/ 00361 00362 #ifdef __cplusplus 00363 extern "C" { 00364 #endif 00365 00366 /* 00367 * This document is licensed under the SGI Free Software B License Version 00368 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 00369 */ 00370 00371 /*------------------------------------------------------------------------- 00372 * Data type definitions 00373 *-----------------------------------------------------------------------*/ 00374 00375 typedef void GLvoid; 00376 typedef char GLchar; 00377 typedef unsigned int GLenum; 00378 typedef unsigned char GLboolean; 00379 typedef unsigned int GLbitfield; 00380 typedef khronos_int8_t GLbyte; 00381 typedef short GLshort; 00382 typedef int GLint; 00383 typedef int GLsizei; 00384 typedef khronos_uint8_t GLubyte; 00385 typedef unsigned short GLushort; 00386 typedef unsigned int GLuint; 00387 typedef khronos_float_t GLfloat; 00388 typedef khronos_float_t GLclampf; 00389 typedef khronos_int32_t GLfixed; 00390 00391 /* GL types for handling large vertex buffer objects */ 00392 typedef khronos_intptr_t GLintptr; 00393 typedef khronos_ssize_t GLsizeiptr; 00394 00395 /* OpenGL ES core versions */ 00396 #define GL_ES_VERSION_2_0 1 00397 00398 /* ClearBufferMask */ 00399 #define GL_DEPTH_BUFFER_BIT 0x00000100 00400 #define GL_STENCIL_BUFFER_BIT 0x00000400 00401 #define GL_COLOR_BUFFER_BIT 0x00004000 00402 00403 /* Boolean */ 00404 #define GL_FALSE 0 00405 #define GL_TRUE 1 00406 00407 /* BeginMode */ 00408 #define GL_POINTS 0x0000 00409 #define GL_LINES 0x0001 00410 #define GL_LINE_LOOP 0x0002 00411 #define GL_LINE_STRIP 0x0003 00412 #define GL_TRIANGLES 0x0004 00413 #define GL_TRIANGLE_STRIP 0x0005 00414 #define GL_TRIANGLE_FAN 0x0006 00415 00416 /* AlphaFunction (not supported in ES20) */ 00417 /* GL_NEVER */ 00418 /* GL_LESS */ 00419 /* GL_EQUAL */ 00420 /* GL_LEQUAL */ 00421 /* GL_GREATER */ 00422 /* GL_NOTEQUAL */ 00423 /* GL_GEQUAL */ 00424 /* GL_ALWAYS */ 00425 00426 /* BlendingFactorDest */ 00427 #define GL_ZERO 0 00428 #define GL_ONE 1 00429 #define GL_SRC_COLOR 0x0300 00430 #define GL_ONE_MINUS_SRC_COLOR 0x0301 00431 #define GL_SRC_ALPHA 0x0302 00432 #define GL_ONE_MINUS_SRC_ALPHA 0x0303 00433 #define GL_DST_ALPHA 0x0304 00434 #define GL_ONE_MINUS_DST_ALPHA 0x0305 00435 00436 /* BlendingFactorSrc */ 00437 /* GL_ZERO */ 00438 /* GL_ONE */ 00439 #define GL_DST_COLOR 0x0306 00440 #define GL_ONE_MINUS_DST_COLOR 0x0307 00441 #define GL_SRC_ALPHA_SATURATE 0x0308 00442 /* GL_SRC_ALPHA */ 00443 /* GL_ONE_MINUS_SRC_ALPHA */ 00444 /* GL_DST_ALPHA */ 00445 /* GL_ONE_MINUS_DST_ALPHA */ 00446 00447 /* BlendEquationSeparate */ 00448 #define GL_FUNC_ADD 0x8006 00449 #define GL_BLEND_EQUATION 0x8009 00450 #define GL_BLEND_EQUATION_RGB 0x8009 /* same as BLEND_EQUATION */ 00451 #define GL_BLEND_EQUATION_ALPHA 0x883D 00452 00453 /* BlendSubtract */ 00454 #define GL_FUNC_SUBTRACT 0x800A 00455 #define GL_FUNC_REVERSE_SUBTRACT 0x800B 00456 00457 /* Separate Blend Functions */ 00458 #define GL_BLEND_DST_RGB 0x80C8 00459 #define GL_BLEND_SRC_RGB 0x80C9 00460 #define GL_BLEND_DST_ALPHA 0x80CA 00461 #define GL_BLEND_SRC_ALPHA 0x80CB 00462 #define GL_CONSTANT_COLOR 0x8001 00463 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 00464 #define GL_CONSTANT_ALPHA 0x8003 00465 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 00466 #define GL_BLEND_COLOR 0x8005 00467 00468 /* Buffer Objects */ 00469 #define GL_ARRAY_BUFFER 0x8892 00470 #define GL_ELEMENT_ARRAY_BUFFER 0x8893 00471 #define GL_ARRAY_BUFFER_BINDING 0x8894 00472 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 00473 00474 #define GL_STREAM_DRAW 0x88E0 00475 #define GL_STATIC_DRAW 0x88E4 00476 #define GL_DYNAMIC_DRAW 0x88E8 00477 00478 #define GL_BUFFER_SIZE 0x8764 00479 #define GL_BUFFER_USAGE 0x8765 00480 00481 #define GL_CURRENT_VERTEX_ATTRIB 0x8626 00482 00483 /* CullFaceMode */ 00484 #define GL_FRONT 0x0404 00485 #define GL_BACK 0x0405 00486 #define GL_FRONT_AND_BACK 0x0408 00487 00488 /* DepthFunction */ 00489 /* GL_NEVER */ 00490 /* GL_LESS */ 00491 /* GL_EQUAL */ 00492 /* GL_LEQUAL */ 00493 /* GL_GREATER */ 00494 /* GL_NOTEQUAL */ 00495 /* GL_GEQUAL */ 00496 /* GL_ALWAYS */ 00497 00498 /* EnableCap */ 00499 #define GL_TEXTURE_2D 0x0DE1 00500 #define GL_CULL_FACE 0x0B44 00501 #define GL_BLEND 0x0BE2 00502 #define GL_DITHER 0x0BD0 00503 #define GL_STENCIL_TEST 0x0B90 00504 #define GL_DEPTH_TEST 0x0B71 00505 #define GL_SCISSOR_TEST 0x0C11 00506 #define GL_POLYGON_OFFSET_FILL 0x8037 00507 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E 00508 #define GL_SAMPLE_COVERAGE 0x80A0 00509 00510 /* ErrorCode */ 00511 #define GL_NO_ERROR 0 00512 #define GL_INVALID_ENUM 0x0500 00513 #define GL_INVALID_VALUE 0x0501 00514 #define GL_INVALID_OPERATION 0x0502 00515 #define GL_OUT_OF_MEMORY 0x0505 00516 00517 /* FrontFaceDirection */ 00518 #define GL_CW 0x0900 00519 #define GL_CCW 0x0901 00520 00521 /* GetPName */ 00522 #define GL_LINE_WIDTH 0x0B21 00523 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D 00524 #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E 00525 #define GL_CULL_FACE_MODE 0x0B45 00526 #define GL_FRONT_FACE 0x0B46 00527 #define GL_DEPTH_RANGE 0x0B70 00528 #define GL_DEPTH_WRITEMASK 0x0B72 00529 #define GL_DEPTH_CLEAR_VALUE 0x0B73 00530 #define GL_DEPTH_FUNC 0x0B74 00531 #define GL_STENCIL_CLEAR_VALUE 0x0B91 00532 #define GL_STENCIL_FUNC 0x0B92 00533 #define GL_STENCIL_FAIL 0x0B94 00534 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 00535 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 00536 #define GL_STENCIL_REF 0x0B97 00537 #define GL_STENCIL_VALUE_MASK 0x0B93 00538 #define GL_STENCIL_WRITEMASK 0x0B98 00539 #define GL_STENCIL_BACK_FUNC 0x8800 00540 #define GL_STENCIL_BACK_FAIL 0x8801 00541 #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 00542 #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 00543 #define GL_STENCIL_BACK_REF 0x8CA3 00544 #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 00545 #define GL_STENCIL_BACK_WRITEMASK 0x8CA5 00546 #define GL_VIEWPORT 0x0BA2 00547 #define GL_SCISSOR_BOX 0x0C10 00548 /* GL_SCISSOR_TEST */ 00549 #define GL_COLOR_CLEAR_VALUE 0x0C22 00550 #define GL_COLOR_WRITEMASK 0x0C23 00551 #define GL_UNPACK_ALIGNMENT 0x0CF5 00552 #define GL_PACK_ALIGNMENT 0x0D05 00553 #define GL_MAX_TEXTURE_SIZE 0x0D33 00554 #define GL_MAX_VIEWPORT_DIMS 0x0D3A 00555 #define GL_SUBPIXEL_BITS 0x0D50 00556 #define GL_RED_BITS 0x0D52 00557 #define GL_GREEN_BITS 0x0D53 00558 #define GL_BLUE_BITS 0x0D54 00559 #define GL_ALPHA_BITS 0x0D55 00560 #define GL_DEPTH_BITS 0x0D56 00561 #define GL_STENCIL_BITS 0x0D57 00562 #define GL_POLYGON_OFFSET_UNITS 0x2A00 00563 /* GL_POLYGON_OFFSET_FILL */ 00564 #define GL_POLYGON_OFFSET_FACTOR 0x8038 00565 #define GL_TEXTURE_BINDING_2D 0x8069 00566 #define GL_SAMPLE_BUFFERS 0x80A8 00567 #define GL_SAMPLES 0x80A9 00568 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA 00569 #define GL_SAMPLE_COVERAGE_INVERT 0x80AB 00570 00571 /* GetTextureParameter */ 00572 /* GL_TEXTURE_MAG_FILTER */ 00573 /* GL_TEXTURE_MIN_FILTER */ 00574 /* GL_TEXTURE_WRAP_S */ 00575 /* GL_TEXTURE_WRAP_T */ 00576 00577 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 00578 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 00579 00580 /* HintMode */ 00581 #define GL_DONT_CARE 0x1100 00582 #define GL_FASTEST 0x1101 00583 #define GL_NICEST 0x1102 00584 00585 /* HintTarget */ 00586 #define GL_GENERATE_MIPMAP_HINT 0x8192 00587 00588 /* DataType */ 00589 #define GL_BYTE 0x1400 00590 #define GL_UNSIGNED_BYTE 0x1401 00591 #define GL_SHORT 0x1402 00592 #define GL_UNSIGNED_SHORT 0x1403 00593 #define GL_INT 0x1404 00594 #define GL_UNSIGNED_INT 0x1405 00595 #define GL_FLOAT 0x1406 00596 #define GL_FIXED 0x140C 00597 00598 /* PixelFormat */ 00599 #define GL_DEPTH_COMPONENT 0x1902 00600 #define GL_ALPHA 0x1906 00601 #define GL_RGB 0x1907 00602 #define GL_RGBA 0x1908 00603 #define GL_LUMINANCE 0x1909 00604 #define GL_LUMINANCE_ALPHA 0x190A 00605 00606 /* PixelType */ 00607 /* GL_UNSIGNED_BYTE */ 00608 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 00609 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 00610 #define GL_UNSIGNED_SHORT_5_6_5 0x8363 00611 00612 /* Shaders */ 00613 #define GL_FRAGMENT_SHADER 0x8B30 00614 #define GL_VERTEX_SHADER 0x8B31 00615 #define GL_MAX_VERTEX_ATTRIBS 0x8869 00616 #define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB 00617 #define GL_MAX_VARYING_VECTORS 0x8DFC 00618 #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D 00619 #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C 00620 #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 00621 #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD 00622 #define GL_SHADER_TYPE 0x8B4F 00623 #define GL_DELETE_STATUS 0x8B80 00624 #define GL_LINK_STATUS 0x8B82 00625 #define GL_VALIDATE_STATUS 0x8B83 00626 #define GL_ATTACHED_SHADERS 0x8B85 00627 #define GL_ACTIVE_UNIFORMS 0x8B86 00628 #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 00629 #define GL_ACTIVE_ATTRIBUTES 0x8B89 00630 #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A 00631 #define GL_SHADING_LANGUAGE_VERSION 0x8B8C 00632 #define GL_CURRENT_PROGRAM 0x8B8D 00633 00634 /* StencilFunction */ 00635 #define GL_NEVER 0x0200 00636 #define GL_LESS 0x0201 00637 #define GL_EQUAL 0x0202 00638 #define GL_LEQUAL 0x0203 00639 #define GL_GREATER 0x0204 00640 #define GL_NOTEQUAL 0x0205 00641 #define GL_GEQUAL 0x0206 00642 #define GL_ALWAYS 0x0207 00643 00644 /* StencilOp */ 00645 /* GL_ZERO */ 00646 #define GL_KEEP 0x1E00 00647 #define GL_REPLACE 0x1E01 00648 #define GL_INCR 0x1E02 00649 #define GL_DECR 0x1E03 00650 #define GL_INVERT 0x150A 00651 #define GL_INCR_WRAP 0x8507 00652 #define GL_DECR_WRAP 0x8508 00653 00654 /* StringName */ 00655 #define GL_VENDOR 0x1F00 00656 #define GL_RENDERER 0x1F01 00657 #define GL_VERSION 0x1F02 00658 #define GL_EXTENSIONS 0x1F03 00659 00660 /* TextureMagFilter */ 00661 #define GL_NEAREST 0x2600 00662 #define GL_LINEAR 0x2601 00663 00664 /* TextureMinFilter */ 00665 /* GL_NEAREST */ 00666 /* GL_LINEAR */ 00667 #define GL_NEAREST_MIPMAP_NEAREST 0x2700 00668 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 00669 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 00670 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 00671 00672 /* TextureParameterName */ 00673 #define GL_TEXTURE_MAG_FILTER 0x2800 00674 #define GL_TEXTURE_MIN_FILTER 0x2801 00675 #define GL_TEXTURE_WRAP_S 0x2802 00676 #define GL_TEXTURE_WRAP_T 0x2803 00677 00678 /* TextureTarget */ 00679 /* GL_TEXTURE_2D */ 00680 #define GL_TEXTURE 0x1702 00681 00682 #define GL_TEXTURE_CUBE_MAP 0x8513 00683 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 00684 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 00685 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 00686 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 00687 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 00688 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 00689 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A 00690 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C 00691 00692 /* TextureUnit */ 00693 #define GL_TEXTURE0 0x84C0 00694 #define GL_TEXTURE1 0x84C1 00695 #define GL_TEXTURE2 0x84C2 00696 #define GL_TEXTURE3 0x84C3 00697 #define GL_TEXTURE4 0x84C4 00698 #define GL_TEXTURE5 0x84C5 00699 #define GL_TEXTURE6 0x84C6 00700 #define GL_TEXTURE7 0x84C7 00701 #define GL_TEXTURE8 0x84C8 00702 #define GL_TEXTURE9 0x84C9 00703 #define GL_TEXTURE10 0x84CA 00704 #define GL_TEXTURE11 0x84CB 00705 #define GL_TEXTURE12 0x84CC 00706 #define GL_TEXTURE13 0x84CD 00707 #define GL_TEXTURE14 0x84CE 00708 #define GL_TEXTURE15 0x84CF 00709 #define GL_TEXTURE16 0x84D0 00710 #define GL_TEXTURE17 0x84D1 00711 #define GL_TEXTURE18 0x84D2 00712 #define GL_TEXTURE19 0x84D3 00713 #define GL_TEXTURE20 0x84D4 00714 #define GL_TEXTURE21 0x84D5 00715 #define GL_TEXTURE22 0x84D6 00716 #define GL_TEXTURE23 0x84D7 00717 #define GL_TEXTURE24 0x84D8 00718 #define GL_TEXTURE25 0x84D9 00719 #define GL_TEXTURE26 0x84DA 00720 #define GL_TEXTURE27 0x84DB 00721 #define GL_TEXTURE28 0x84DC 00722 #define GL_TEXTURE29 0x84DD 00723 #define GL_TEXTURE30 0x84DE 00724 #define GL_TEXTURE31 0x84DF 00725 #define GL_ACTIVE_TEXTURE 0x84E0 00726 00727 /* TextureWrapMode */ 00728 #define GL_REPEAT 0x2901 00729 #define GL_CLAMP_TO_EDGE 0x812F 00730 #define GL_MIRRORED_REPEAT 0x8370 00731 00732 /* Uniform Types */ 00733 #define GL_FLOAT_VEC2 0x8B50 00734 #define GL_FLOAT_VEC3 0x8B51 00735 #define GL_FLOAT_VEC4 0x8B52 00736 #define GL_INT_VEC2 0x8B53 00737 #define GL_INT_VEC3 0x8B54 00738 #define GL_INT_VEC4 0x8B55 00739 #define GL_BOOL 0x8B56 00740 #define GL_BOOL_VEC2 0x8B57 00741 #define GL_BOOL_VEC3 0x8B58 00742 #define GL_BOOL_VEC4 0x8B59 00743 #define GL_FLOAT_MAT2 0x8B5A 00744 #define GL_FLOAT_MAT3 0x8B5B 00745 #define GL_FLOAT_MAT4 0x8B5C 00746 #define GL_SAMPLER_2D 0x8B5E 00747 #define GL_SAMPLER_CUBE 0x8B60 00748 00749 /* Vertex Arrays */ 00750 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 00751 #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 00752 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 00753 #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 00754 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A 00755 #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 00756 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F 00757 00758 /* Read Format */ 00759 #define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A 00760 #define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B 00761 00762 /* Shader Source */ 00763 #define GL_COMPILE_STATUS 0x8B81 00764 #define GL_INFO_LOG_LENGTH 0x8B84 00765 #define GL_SHADER_SOURCE_LENGTH 0x8B88 00766 #define GL_SHADER_COMPILER 0x8DFA 00767 00768 /* Shader Binary */ 00769 #define GL_SHADER_BINARY_FORMATS 0x8DF8 00770 #define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 00771 00772 /* Shader Precision-Specified Types */ 00773 #define GL_LOW_FLOAT 0x8DF0 00774 #define GL_MEDIUM_FLOAT 0x8DF1 00775 #define GL_HIGH_FLOAT 0x8DF2 00776 #define GL_LOW_INT 0x8DF3 00777 #define GL_MEDIUM_INT 0x8DF4 00778 #define GL_HIGH_INT 0x8DF5 00779 00780 /* Framebuffer Object. */ 00781 #define GL_FRAMEBUFFER 0x8D40 00782 #define GL_RENDERBUFFER 0x8D41 00783 00784 #define GL_RGBA4 0x8056 00785 #define GL_RGB5_A1 0x8057 00786 #define GL_RGB565 0x8D62 00787 #define GL_DEPTH_COMPONENT16 0x81A5 00788 #define GL_STENCIL_INDEX8 0x8D48 00789 00790 #define GL_RENDERBUFFER_WIDTH 0x8D42 00791 #define GL_RENDERBUFFER_HEIGHT 0x8D43 00792 #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 00793 #define GL_RENDERBUFFER_RED_SIZE 0x8D50 00794 #define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 00795 #define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 00796 #define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 00797 #define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 00798 #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 00799 00800 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 00801 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 00802 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 00803 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 00804 00805 #define GL_COLOR_ATTACHMENT0 0x8CE0 00806 #define GL_DEPTH_ATTACHMENT 0x8D00 00807 #define GL_STENCIL_ATTACHMENT 0x8D20 00808 00809 #define GL_NONE 0 00810 00811 #define GL_FRAMEBUFFER_COMPLETE 0x8CD5 00812 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 00813 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 00814 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 00815 #define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD 00816 00817 #define GL_FRAMEBUFFER_BINDING 0x8CA6 00818 #define GL_RENDERBUFFER_BINDING 0x8CA7 00819 #define GL_MAX_RENDERBUFFER_SIZE 0x84E8 00820 00821 #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 00822 00823 /*------------------------------------------------------------------------- 00824 * GL core functions. 00825 *-----------------------------------------------------------------------*/ 00826 00827 GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture); 00828 GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader); 00829 GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name); 00830 GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); 00831 GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer); 00832 GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer); 00833 GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); 00834 GL_APICALL void GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); 00835 GL_APICALL void GL_APIENTRY glBlendEquation ( GLenum mode ); 00836 GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); 00837 GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); 00838 GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); 00839 GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); 00840 GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); 00841 GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target); 00842 GL_APICALL void GL_APIENTRY glClear (GLbitfield mask); 00843 GL_APICALL void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); 00844 GL_APICALL void GL_APIENTRY glClearDepthf (GLclampf depth); 00845 GL_APICALL void GL_APIENTRY glClearStencil (GLint s); 00846 GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); 00847 GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader); 00848 GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data); 00849 GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data); 00850 GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); 00851 GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); 00852 GL_APICALL GLuint GL_APIENTRY glCreateProgram (void); 00853 GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type); 00854 GL_APICALL void GL_APIENTRY glCullFace (GLenum mode); 00855 GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers); 00856 GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers); 00857 GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program); 00858 GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers); 00859 GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader); 00860 GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures); 00861 GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func); 00862 GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag); 00863 GL_APICALL void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar); 00864 GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader); 00865 GL_APICALL void GL_APIENTRY glDisable (GLenum cap); 00866 GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index); 00867 GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); 00868 GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); 00869 GL_APICALL void GL_APIENTRY glEnable (GLenum cap); 00870 GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index); 00871 GL_APICALL void GL_APIENTRY glFinish (void); 00872 GL_APICALL void GL_APIENTRY glFlush (void); 00873 GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); 00874 GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); 00875 GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode); 00876 GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers); 00877 GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target); 00878 GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers); 00879 GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers); 00880 GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures); 00881 GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 00882 GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 00883 GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); 00884 GL_APICALL int GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name); 00885 GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params); 00886 GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params); 00887 GL_APICALL GLenum GL_APIENTRY glGetError (void); 00888 GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params); 00889 GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params); 00890 GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params); 00891 GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params); 00892 GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog); 00893 GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params); 00894 GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params); 00895 GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog); 00896 GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); 00897 GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); 00898 GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name); 00899 GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params); 00900 GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params); 00901 GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params); 00902 GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params); 00903 GL_APICALL int GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name); 00904 GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params); 00905 GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params); 00906 GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer); 00907 GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode); 00908 GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); 00909 GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap); 00910 GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer); 00911 GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program); 00912 GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer); 00913 GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader); 00914 GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture); 00915 GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width); 00916 GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program); 00917 GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); 00918 GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); 00919 GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); 00920 GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void); 00921 GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); 00922 GL_APICALL void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert); 00923 GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); 00924 GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); 00925 GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length); 00926 GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); 00927 GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); 00928 GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask); 00929 GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask); 00930 GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); 00931 GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass); 00932 GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); 00933 GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); 00934 GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params); 00935 GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); 00936 GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params); 00937 GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); 00938 GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat x); 00939 GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v); 00940 GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint x); 00941 GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v); 00942 GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y); 00943 GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v); 00944 GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y); 00945 GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v); 00946 GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z); 00947 GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v); 00948 GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z); 00949 GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v); 00950 GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 00951 GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v); 00952 GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w); 00953 GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v); 00954 GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); 00955 GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); 00956 GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); 00957 GL_APICALL void GL_APIENTRY glUseProgram (GLuint program); 00958 GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program); 00959 GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x); 00960 GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values); 00961 GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y); 00962 GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values); 00963 GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z); 00964 GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values); 00965 GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 00966 GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values); 00967 GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr); 00968 GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); 00969 00970 #ifdef __cplusplus 00971 } 00972 #endif 00973 00974 #endif /* __gl2_h_ */ 00975 00976 00977 #ifndef __gl2ext_h_ 00978 #define __gl2ext_h_ 00979 00980 /* $Revision: 19436 $ on $Date:: 2012-10-10 10:37:04 -0700 #$ */ 00981 00982 #ifdef __cplusplus 00983 extern "C" { 00984 #endif 00985 00986 /* 00987 * This document is licensed under the SGI Free Software B License Version 00988 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 00989 */ 00990 00991 #ifndef GL_APIENTRYP 00992 # define GL_APIENTRYP GL_APIENTRY* 00993 #endif 00994 00995 /*------------------------------------------------------------------------* 00996 * OES extension tokens 00997 *------------------------------------------------------------------------*/ 00998 00999 /* GL_OES_compressed_ETC1_RGB8_texture */ 01000 #ifndef GL_OES_compressed_ETC1_RGB8_texture 01001 #define GL_ETC1_RGB8_OES 0x8D64 01002 #endif 01003 01004 /* GL_OES_compressed_paletted_texture */ 01005 #ifndef GL_OES_compressed_paletted_texture 01006 #define GL_PALETTE4_RGB8_OES 0x8B90 01007 #define GL_PALETTE4_RGBA8_OES 0x8B91 01008 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92 01009 #define GL_PALETTE4_RGBA4_OES 0x8B93 01010 #define GL_PALETTE4_RGB5_A1_OES 0x8B94 01011 #define GL_PALETTE8_RGB8_OES 0x8B95 01012 #define GL_PALETTE8_RGBA8_OES 0x8B96 01013 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97 01014 #define GL_PALETTE8_RGBA4_OES 0x8B98 01015 #define GL_PALETTE8_RGB5_A1_OES 0x8B99 01016 #endif 01017 01018 /* GL_OES_depth24 */ 01019 #ifndef GL_OES_depth24 01020 #define GL_DEPTH_COMPONENT24_OES 0x81A6 01021 #endif 01022 01023 /* GL_OES_depth32 */ 01024 #ifndef GL_OES_depth32 01025 #define GL_DEPTH_COMPONENT32_OES 0x81A7 01026 #endif 01027 01028 /* GL_OES_depth_texture */ 01029 /* No new tokens introduced by this extension. */ 01030 01031 /* GL_OES_EGL_image */ 01032 #ifndef GL_OES_EGL_image 01033 typedef void* GLeglImageOES; 01034 #endif 01035 01036 /* GL_OES_EGL_image_external */ 01037 #ifndef GL_OES_EGL_image_external 01038 /* GLeglImageOES defined in GL_OES_EGL_image already. */ 01039 #define GL_TEXTURE_EXTERNAL_OES 0x8D65 01040 #define GL_SAMPLER_EXTERNAL_OES 0x8D66 01041 #define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 01042 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 01043 #endif 01044 01045 /* GL_OES_element_index_uint */ 01046 #ifndef GL_OES_element_index_uint 01047 #define GL_UNSIGNED_INT 0x1405 01048 #endif 01049 01050 /* GL_OES_get_program_binary */ 01051 #ifndef GL_OES_get_program_binary 01052 #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 01053 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE 01054 #define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF 01055 #endif 01056 01057 /* GL_OES_mapbuffer */ 01058 #ifndef GL_OES_mapbuffer 01059 #define GL_WRITE_ONLY_OES 0x88B9 01060 #define GL_BUFFER_ACCESS_OES 0x88BB 01061 #define GL_BUFFER_MAPPED_OES 0x88BC 01062 #define GL_BUFFER_MAP_POINTER_OES 0x88BD 01063 #endif 01064 01065 /* GL_OES_packed_depth_stencil */ 01066 #ifndef GL_OES_packed_depth_stencil 01067 #define GL_DEPTH_STENCIL_OES 0x84F9 01068 #define GL_UNSIGNED_INT_24_8_OES 0x84FA 01069 #define GL_DEPTH24_STENCIL8_OES 0x88F0 01070 #endif 01071 01072 /* GL_OES_required_internalformat */ 01073 #ifndef GL_OES_required_internalformat 01074 #define GL_ALPHA8_OES 0x803C 01075 #define GL_DEPTH_COMPONENT16_OES 0x81A5 01076 /* reuse GL_DEPTH_COMPONENT24_OES */ 01077 /* reuse GL_DEPTH24_STENCIL8_OES */ 01078 /* reuse GL_DEPTH_COMPONENT32_OES */ 01079 #define GL_LUMINANCE4_ALPHA4_OES 0x8043 01080 #define GL_LUMINANCE8_ALPHA8_OES 0x8045 01081 #define GL_LUMINANCE8_OES 0x8040 01082 #define GL_RGBA4_OES 0x8056 01083 #define GL_RGB5_A1_OES 0x8057 01084 #define GL_RGB565_OES 0x8D62 01085 /* reuse GL_RGB8_OES */ 01086 /* reuse GL_RGBA8_OES */ 01087 /* reuse GL_RGB10_EXT */ 01088 /* reuse GL_RGB10_A2_EXT */ 01089 #endif 01090 01091 /* GL_OES_rgb8_rgba8 */ 01092 #ifndef GL_OES_rgb8_rgba8 01093 #define GL_RGB8_OES 0x8051 01094 #define GL_RGBA8_OES 0x8058 01095 #endif 01096 01097 /* GL_OES_standard_derivatives */ 01098 #ifndef GL_OES_standard_derivatives 01099 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B 01100 #endif 01101 01102 /* GL_OES_stencil1 */ 01103 #ifndef GL_OES_stencil1 01104 #define GL_STENCIL_INDEX1_OES 0x8D46 01105 #endif 01106 01107 /* GL_OES_stencil4 */ 01108 #ifndef GL_OES_stencil4 01109 #define GL_STENCIL_INDEX4_OES 0x8D47 01110 #endif 01111 01112 #ifndef GL_OES_surfaceless_context 01113 #define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219 01114 #endif 01115 01116 /* GL_OES_texture_3D */ 01117 #ifndef GL_OES_texture_3D 01118 #define GL_TEXTURE_WRAP_R_OES 0x8072 01119 #define GL_TEXTURE_3D_OES 0x806F 01120 #define GL_TEXTURE_BINDING_3D_OES 0x806A 01121 #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 01122 #define GL_SAMPLER_3D_OES 0x8B5F 01123 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 01124 #endif 01125 01126 /* GL_OES_texture_float */ 01127 /* No new tokens introduced by this extension. */ 01128 01129 /* GL_OES_texture_float_linear */ 01130 /* No new tokens introduced by this extension. */ 01131 01132 /* GL_OES_texture_half_float */ 01133 #ifndef GL_OES_texture_half_float 01134 #define GL_HALF_FLOAT_OES 0x8D61 01135 #endif 01136 01137 /* GL_OES_texture_half_float_linear */ 01138 /* No new tokens introduced by this extension. */ 01139 01140 /* GL_OES_texture_npot */ 01141 /* No new tokens introduced by this extension. */ 01142 01143 /* GL_OES_vertex_array_object */ 01144 #ifndef GL_OES_vertex_array_object 01145 #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 01146 #endif 01147 01148 /* GL_OES_vertex_half_float */ 01149 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ 01150 01151 /* GL_OES_vertex_type_10_10_10_2 */ 01152 #ifndef GL_OES_vertex_type_10_10_10_2 01153 #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 01154 #define GL_INT_10_10_10_2_OES 0x8DF7 01155 #endif 01156 01157 /*------------------------------------------------------------------------* 01158 * KHR extension tokens 01159 *------------------------------------------------------------------------*/ 01160 01161 #ifndef GL_KHR_debug 01162 typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam); 01163 #define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 01164 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 01165 #define GL_DEBUG_CALLBACK_FUNCTION 0x8244 01166 #define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 01167 #define GL_DEBUG_SOURCE_API 0x8246 01168 #define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 01169 #define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 01170 #define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 01171 #define GL_DEBUG_SOURCE_APPLICATION 0x824A 01172 #define GL_DEBUG_SOURCE_OTHER 0x824B 01173 #define GL_DEBUG_TYPE_ERROR 0x824C 01174 #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D 01175 #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E 01176 #define GL_DEBUG_TYPE_PORTABILITY 0x824F 01177 #define GL_DEBUG_TYPE_PERFORMANCE 0x8250 01178 #define GL_DEBUG_TYPE_OTHER 0x8251 01179 #define GL_DEBUG_TYPE_MARKER 0x8268 01180 #define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 01181 #define GL_DEBUG_TYPE_POP_GROUP 0x826A 01182 #define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B 01183 #define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C 01184 #define GL_DEBUG_GROUP_STACK_DEPTH 0x826D 01185 #define GL_BUFFER 0x82E0 01186 #define GL_SHADER 0x82E1 01187 #define GL_PROGRAM 0x82E2 01188 #define GL_QUERY 0x82E3 01189 /* PROGRAM_PIPELINE only in GL */ 01190 #define GL_SAMPLER 0x82E6 01191 /* DISPLAY_LIST only in GL */ 01192 #define GL_MAX_LABEL_LENGTH 0x82E8 01193 #define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 01194 #define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 01195 #define GL_DEBUG_LOGGED_MESSAGES 0x9145 01196 #define GL_DEBUG_SEVERITY_HIGH 0x9146 01197 #define GL_DEBUG_SEVERITY_MEDIUM 0x9147 01198 #define GL_DEBUG_SEVERITY_LOW 0x9148 01199 #define GL_DEBUG_OUTPUT 0x92E0 01200 #define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 01201 #define GL_STACK_OVERFLOW 0x0503 01202 #define GL_STACK_UNDERFLOW 0x0504 01203 #endif 01204 01205 #ifndef GL_KHR_texture_compression_astc_ldr 01206 #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 01207 #define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 01208 #define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 01209 #define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 01210 #define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 01211 #define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 01212 #define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 01213 #define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 01214 #define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 01215 #define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 01216 #define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA 01217 #define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB 01218 #define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC 01219 #define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD 01220 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 01221 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 01222 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 01223 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 01224 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 01225 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 01226 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 01227 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 01228 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 01229 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 01230 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA 01231 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB 01232 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC 01233 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD 01234 #endif 01235 01236 /*------------------------------------------------------------------------* 01237 * AMD extension tokens 01238 *------------------------------------------------------------------------*/ 01239 01240 /* GL_AMD_compressed_3DC_texture */ 01241 #ifndef GL_AMD_compressed_3DC_texture 01242 #define GL_3DC_X_AMD 0x87F9 01243 #define GL_3DC_XY_AMD 0x87FA 01244 #endif 01245 01246 /* GL_AMD_compressed_ATC_texture */ 01247 #ifndef GL_AMD_compressed_ATC_texture 01248 #define GL_ATC_RGB_AMD 0x8C92 01249 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 01250 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE 01251 #endif 01252 01253 /* GL_AMD_performance_monitor */ 01254 #ifndef GL_AMD_performance_monitor 01255 #define GL_COUNTER_TYPE_AMD 0x8BC0 01256 #define GL_COUNTER_RANGE_AMD 0x8BC1 01257 #define GL_UNSIGNED_INT64_AMD 0x8BC2 01258 #define GL_PERCENTAGE_AMD 0x8BC3 01259 #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 01260 #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 01261 #define GL_PERFMON_RESULT_AMD 0x8BC6 01262 #endif 01263 01264 /* GL_AMD_program_binary_Z400 */ 01265 #ifndef GL_AMD_program_binary_Z400 01266 #define GL_Z400_BINARY_AMD 0x8740 01267 #endif 01268 01269 /*------------------------------------------------------------------------* 01270 * ANGLE extension tokens 01271 *------------------------------------------------------------------------*/ 01272 01273 /* GL_ANGLE_framebuffer_blit */ 01274 #ifndef GL_ANGLE_framebuffer_blit 01275 #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 01276 #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 01277 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 01278 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA 01279 #endif 01280 01281 /* GL_ANGLE_framebuffer_multisample */ 01282 #ifndef GL_ANGLE_framebuffer_multisample 01283 #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB 01284 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 01285 #define GL_MAX_SAMPLES_ANGLE 0x8D57 01286 #endif 01287 01288 /* GL_ANGLE_instanced_arrays */ 01289 #ifndef GL_ANGLE_instanced_arrays 01290 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE 01291 #endif 01292 01293 /* GL_ANGLE_pack_reverse_row_order */ 01294 #ifndef GL_ANGLE_pack_reverse_row_order 01295 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 01296 #endif 01297 01298 /* GL_ANGLE_texture_compression_dxt3 */ 01299 #ifndef GL_ANGLE_texture_compression_dxt3 01300 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 01301 #endif 01302 01303 /* GL_ANGLE_texture_compression_dxt5 */ 01304 #ifndef GL_ANGLE_texture_compression_dxt5 01305 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 01306 #endif 01307 01308 /* GL_ANGLE_texture_usage */ 01309 #ifndef GL_ANGLE_texture_usage 01310 #define GL_TEXTURE_USAGE_ANGLE 0x93A2 01311 #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 01312 #endif 01313 01314 /* GL_ANGLE_translated_shader_source */ 01315 #ifndef GL_ANGLE_translated_shader_source 01316 #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 01317 #endif 01318 01319 /*------------------------------------------------------------------------* 01320 * APPLE extension tokens 01321 *------------------------------------------------------------------------*/ 01322 01323 /* GL_APPLE_copy_texture_levels */ 01324 /* No new tokens introduced by this extension. */ 01325 01326 /* GL_APPLE_framebuffer_multisample */ 01327 #ifndef GL_APPLE_framebuffer_multisample 01328 #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB 01329 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 01330 #define GL_MAX_SAMPLES_APPLE 0x8D57 01331 #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 01332 #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 01333 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 01334 #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA 01335 #endif 01336 01337 /* GL_APPLE_rgb_422 */ 01338 #ifndef GL_APPLE_rgb_422 01339 #define GL_RGB_422_APPLE 0x8A1F 01340 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA 01341 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB 01342 #endif 01343 01344 /* GL_APPLE_sync */ 01345 #ifndef GL_APPLE_sync 01346 01347 #ifndef __gl3_h_ 01348 /* These types are defined with reference to <inttypes.h> 01349 * in the Apple extension spec, but here we use the Khronos 01350 * portable types in khrplatform.h, and assume those types 01351 * are always defined. 01352 * If any other extensions using these types are defined, 01353 * the typedefs must move out of this block and be shared. 01354 */ 01355 typedef khronos_int64_t GLint64; 01356 typedef khronos_uint64_t GLuint64; 01357 typedef struct __GLsync *GLsync; 01358 #endif 01359 01360 #define GL_SYNC_OBJECT_APPLE 0x8A53 01361 #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111 01362 #define GL_OBJECT_TYPE_APPLE 0x9112 01363 #define GL_SYNC_CONDITION_APPLE 0x9113 01364 #define GL_SYNC_STATUS_APPLE 0x9114 01365 #define GL_SYNC_FLAGS_APPLE 0x9115 01366 #define GL_SYNC_FENCE_APPLE 0x9116 01367 #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117 01368 #define GL_UNSIGNALED_APPLE 0x9118 01369 #define GL_SIGNALED_APPLE 0x9119 01370 #define GL_ALREADY_SIGNALED_APPLE 0x911A 01371 #define GL_TIMEOUT_EXPIRED_APPLE 0x911B 01372 #define GL_CONDITION_SATISFIED_APPLE 0x911C 01373 #define GL_WAIT_FAILED_APPLE 0x911D 01374 #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001 01375 #define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull 01376 #endif 01377 01378 /* GL_APPLE_texture_format_BGRA8888 */ 01379 #ifndef GL_APPLE_texture_format_BGRA8888 01380 #define GL_BGRA_EXT 0x80E1 01381 #endif 01382 01383 /* GL_APPLE_texture_max_level */ 01384 #ifndef GL_APPLE_texture_max_level 01385 #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D 01386 #endif 01387 01388 /*------------------------------------------------------------------------* 01389 * ARM extension tokens 01390 *------------------------------------------------------------------------*/ 01391 01392 /* GL_ARM_mali_program_binary */ 01393 #ifndef GL_ARM_mali_program_binary 01394 #define GL_MALI_PROGRAM_BINARY_ARM 0x8F61 01395 #endif 01396 01397 /* GL_ARM_mali_shader_binary */ 01398 #ifndef GL_ARM_mali_shader_binary 01399 #define GL_MALI_SHADER_BINARY_ARM 0x8F60 01400 #endif 01401 01402 /* GL_ARM_rgba8 */ 01403 /* No new tokens introduced by this extension. */ 01404 01405 /*------------------------------------------------------------------------* 01406 * EXT extension tokens 01407 *------------------------------------------------------------------------*/ 01408 01409 /* GL_EXT_blend_minmax */ 01410 #ifndef GL_EXT_blend_minmax 01411 #define GL_MIN_EXT 0x8007 01412 #define GL_MAX_EXT 0x8008 01413 #endif 01414 01415 /* GL_EXT_color_buffer_half_float */ 01416 #ifndef GL_EXT_color_buffer_half_float 01417 #define GL_RGBA16F_EXT 0x881A 01418 #define GL_RGB16F_EXT 0x881B 01419 #define GL_RG16F_EXT 0x822F 01420 #define GL_R16F_EXT 0x822D 01421 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 01422 #define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 01423 #endif 01424 01425 /* GL_EXT_debug_label */ 01426 #ifndef GL_EXT_debug_label 01427 #define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F 01428 #define GL_PROGRAM_OBJECT_EXT 0x8B40 01429 #define GL_SHADER_OBJECT_EXT 0x8B48 01430 #define GL_BUFFER_OBJECT_EXT 0x9151 01431 #define GL_QUERY_OBJECT_EXT 0x9153 01432 #define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 01433 #endif 01434 01435 /* GL_EXT_debug_marker */ 01436 /* No new tokens introduced by this extension. */ 01437 01438 /* GL_EXT_discard_framebuffer */ 01439 #ifndef GL_EXT_discard_framebuffer 01440 #define GL_COLOR_EXT 0x1800 01441 #define GL_DEPTH_EXT 0x1801 01442 #define GL_STENCIL_EXT 0x1802 01443 #endif 01444 01445 /* GL_EXT_map_buffer_range */ 01446 #ifndef GL_EXT_map_buffer_range 01447 #define GL_MAP_READ_BIT_EXT 0x0001 01448 #define GL_MAP_WRITE_BIT_EXT 0x0002 01449 #define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004 01450 #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008 01451 #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010 01452 #define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020 01453 #endif 01454 01455 /* GL_EXT_multisampled_render_to_texture */ 01456 #ifndef GL_EXT_multisampled_render_to_texture 01457 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C 01458 /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ 01459 #define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB 01460 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 01461 #define GL_MAX_SAMPLES_EXT 0x8D57 01462 #endif 01463 01464 /* GL_EXT_multiview_draw_buffers */ 01465 #ifndef GL_EXT_multiview_draw_buffers 01466 #define GL_COLOR_ATTACHMENT_EXT 0x90F0 01467 #define GL_MULTIVIEW_EXT 0x90F1 01468 #define GL_DRAW_BUFFER_EXT 0x0C01 01469 #define GL_READ_BUFFER_EXT 0x0C02 01470 #define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2 01471 #endif 01472 01473 /* GL_EXT_multi_draw_arrays */ 01474 /* No new tokens introduced by this extension. */ 01475 01476 /* GL_EXT_occlusion_query_boolean */ 01477 #ifndef GL_EXT_occlusion_query_boolean 01478 #define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F 01479 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A 01480 #define GL_CURRENT_QUERY_EXT 0x8865 01481 #define GL_QUERY_RESULT_EXT 0x8866 01482 #define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 01483 #endif 01484 01485 /* GL_EXT_read_format_bgra */ 01486 #ifndef GL_EXT_read_format_bgra 01487 #define GL_BGRA_EXT 0x80E1 01488 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 01489 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 01490 #endif 01491 01492 /* GL_EXT_robustness */ 01493 #ifndef GL_EXT_robustness 01494 /* reuse GL_NO_ERROR */ 01495 #define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 01496 #define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 01497 #define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 01498 #define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 01499 #define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 01500 #define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 01501 #define GL_NO_RESET_NOTIFICATION_EXT 0x8261 01502 #endif 01503 01504 /* GL_EXT_separate_shader_objects */ 01505 #ifndef GL_EXT_separate_shader_objects 01506 #define GL_VERTEX_SHADER_BIT_EXT 0x00000001 01507 #define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002 01508 #define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF 01509 #define GL_PROGRAM_SEPARABLE_EXT 0x8258 01510 #define GL_ACTIVE_PROGRAM_EXT 0x8259 01511 #define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A 01512 #endif 01513 01514 /* GL_EXT_shader_framebuffer_fetch */ 01515 #ifndef GL_EXT_shader_framebuffer_fetch 01516 #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 01517 #endif 01518 01519 /* GL_EXT_shader_texture_lod */ 01520 /* No new tokens introduced by this extension. */ 01521 01522 /* GL_EXT_shadow_samplers */ 01523 #ifndef GL_EXT_shadow_samplers 01524 #define GL_TEXTURE_COMPARE_MODE_EXT 0x884C 01525 #define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D 01526 #define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E 01527 #define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 01528 #endif 01529 01530 /* GL_EXT_sRGB */ 01531 #ifndef GL_EXT_sRGB 01532 #define GL_SRGB_EXT 0x8C40 01533 #define GL_SRGB_ALPHA_EXT 0x8C42 01534 #define GL_SRGB8_ALPHA8_EXT 0x8C43 01535 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 01536 #endif 01537 01538 /* GL_EXT_texture_compression_dxt1 */ 01539 #ifndef GL_EXT_texture_compression_dxt1 01540 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 01541 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 01542 #endif 01543 01544 /* GL_EXT_texture_filter_anisotropic */ 01545 #ifndef GL_EXT_texture_filter_anisotropic 01546 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 01547 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 01548 #endif 01549 01550 /* GL_EXT_texture_format_BGRA8888 */ 01551 #ifndef GL_EXT_texture_format_BGRA8888 01552 #define GL_BGRA_EXT 0x80E1 01553 #endif 01554 01555 /* GL_EXT_texture_rg */ 01556 #ifndef GL_EXT_texture_rg 01557 #define GL_RED_EXT 0x1903 01558 #define GL_RG_EXT 0x8227 01559 #define GL_R8_EXT 0x8229 01560 #define GL_RG8_EXT 0x822B 01561 #endif 01562 01563 /* GL_EXT_texture_storage */ 01564 #ifndef GL_EXT_texture_storage 01565 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F 01566 #define GL_ALPHA8_EXT 0x803C 01567 #define GL_LUMINANCE8_EXT 0x8040 01568 #define GL_LUMINANCE8_ALPHA8_EXT 0x8045 01569 #define GL_RGBA32F_EXT 0x8814 01570 #define GL_RGB32F_EXT 0x8815 01571 #define GL_ALPHA32F_EXT 0x8816 01572 #define GL_LUMINANCE32F_EXT 0x8818 01573 #define GL_LUMINANCE_ALPHA32F_EXT 0x8819 01574 /* reuse GL_RGBA16F_EXT */ 01575 /* reuse GL_RGB16F_EXT */ 01576 #define GL_ALPHA16F_EXT 0x881C 01577 #define GL_LUMINANCE16F_EXT 0x881E 01578 #define GL_LUMINANCE_ALPHA16F_EXT 0x881F 01579 #define GL_RGB10_A2_EXT 0x8059 01580 #define GL_RGB10_EXT 0x8052 01581 #define GL_BGRA8_EXT 0x93A1 01582 #define GL_R8_EXT 0x8229 01583 #define GL_RG8_EXT 0x822B 01584 #define GL_R32F_EXT 0x822E 01585 #define GL_RG32F_EXT 0x8230 01586 #define GL_R16F_EXT 0x822D 01587 #define GL_RG16F_EXT 0x822F 01588 #endif 01589 01590 /* GL_EXT_texture_type_2_10_10_10_REV */ 01591 #ifndef GL_EXT_texture_type_2_10_10_10_REV 01592 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 01593 #endif 01594 01595 /* GL_EXT_unpack_subimage */ 01596 #ifndef GL_EXT_unpack_subimage 01597 #define GL_UNPACK_ROW_LENGTH 0x0CF2 01598 #define GL_UNPACK_SKIP_ROWS 0x0CF3 01599 #define GL_UNPACK_SKIP_PIXELS 0x0CF4 01600 #endif 01601 01602 /*------------------------------------------------------------------------* 01603 * DMP extension tokens 01604 *------------------------------------------------------------------------*/ 01605 01606 /* GL_DMP_shader_binary */ 01607 #ifndef GL_DMP_shader_binary 01608 #define GL_SHADER_BINARY_DMP 0x9250 01609 #endif 01610 01611 /*------------------------------------------------------------------------* 01612 * FJ extension tokens 01613 *------------------------------------------------------------------------*/ 01614 01615 /* GL_FJ_shader_binary_GCCSO */ 01616 #ifndef GL_FJ_shader_binary_GCCSO 01617 #define GCCSO_SHADER_BINARY_FJ 0x9260 01618 #endif 01619 01620 /*------------------------------------------------------------------------* 01621 * IMG extension tokens 01622 *------------------------------------------------------------------------*/ 01623 01624 /* GL_IMG_program_binary */ 01625 #ifndef GL_IMG_program_binary 01626 #define GL_SGX_PROGRAM_BINARY_IMG 0x9130 01627 #endif 01628 01629 /* GL_IMG_read_format */ 01630 #ifndef GL_IMG_read_format 01631 #define GL_BGRA_IMG 0x80E1 01632 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 01633 #endif 01634 01635 /* GL_IMG_shader_binary */ 01636 #ifndef GL_IMG_shader_binary 01637 #define GL_SGX_BINARY_IMG 0x8C0A 01638 #endif 01639 01640 /* GL_IMG_texture_compression_pvrtc */ 01641 #ifndef GL_IMG_texture_compression_pvrtc 01642 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 01643 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 01644 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 01645 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 01646 #endif 01647 01648 /* GL_IMG_multisampled_render_to_texture */ 01649 #ifndef GL_IMG_multisampled_render_to_texture 01650 #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 01651 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 01652 #define GL_MAX_SAMPLES_IMG 0x9135 01653 #define GL_TEXTURE_SAMPLES_IMG 0x9136 01654 #endif 01655 01656 /*------------------------------------------------------------------------* 01657 * NV extension tokens 01658 *------------------------------------------------------------------------*/ 01659 01660 /* GL_NV_coverage_sample */ 01661 #ifndef GL_NV_coverage_sample 01662 #define GL_COVERAGE_COMPONENT_NV 0x8ED0 01663 #define GL_COVERAGE_COMPONENT4_NV 0x8ED1 01664 #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 01665 #define GL_COVERAGE_BUFFERS_NV 0x8ED3 01666 #define GL_COVERAGE_SAMPLES_NV 0x8ED4 01667 #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 01668 #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 01669 #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 01670 #define GL_COVERAGE_BUFFER_BIT_NV 0x8000 01671 #endif 01672 01673 /* GL_NV_depth_nonlinear */ 01674 #ifndef GL_NV_depth_nonlinear 01675 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C 01676 #endif 01677 01678 /* GL_NV_draw_buffers */ 01679 #ifndef GL_NV_draw_buffers 01680 #define GL_MAX_DRAW_BUFFERS_NV 0x8824 01681 #define GL_DRAW_BUFFER0_NV 0x8825 01682 #define GL_DRAW_BUFFER1_NV 0x8826 01683 #define GL_DRAW_BUFFER2_NV 0x8827 01684 #define GL_DRAW_BUFFER3_NV 0x8828 01685 #define GL_DRAW_BUFFER4_NV 0x8829 01686 #define GL_DRAW_BUFFER5_NV 0x882A 01687 #define GL_DRAW_BUFFER6_NV 0x882B 01688 #define GL_DRAW_BUFFER7_NV 0x882C 01689 #define GL_DRAW_BUFFER8_NV 0x882D 01690 #define GL_DRAW_BUFFER9_NV 0x882E 01691 #define GL_DRAW_BUFFER10_NV 0x882F 01692 #define GL_DRAW_BUFFER11_NV 0x8830 01693 #define GL_DRAW_BUFFER12_NV 0x8831 01694 #define GL_DRAW_BUFFER13_NV 0x8832 01695 #define GL_DRAW_BUFFER14_NV 0x8833 01696 #define GL_DRAW_BUFFER15_NV 0x8834 01697 #define GL_COLOR_ATTACHMENT0_NV 0x8CE0 01698 #define GL_COLOR_ATTACHMENT1_NV 0x8CE1 01699 #define GL_COLOR_ATTACHMENT2_NV 0x8CE2 01700 #define GL_COLOR_ATTACHMENT3_NV 0x8CE3 01701 #define GL_COLOR_ATTACHMENT4_NV 0x8CE4 01702 #define GL_COLOR_ATTACHMENT5_NV 0x8CE5 01703 #define GL_COLOR_ATTACHMENT6_NV 0x8CE6 01704 #define GL_COLOR_ATTACHMENT7_NV 0x8CE7 01705 #define GL_COLOR_ATTACHMENT8_NV 0x8CE8 01706 #define GL_COLOR_ATTACHMENT9_NV 0x8CE9 01707 #define GL_COLOR_ATTACHMENT10_NV 0x8CEA 01708 #define GL_COLOR_ATTACHMENT11_NV 0x8CEB 01709 #define GL_COLOR_ATTACHMENT12_NV 0x8CEC 01710 #define GL_COLOR_ATTACHMENT13_NV 0x8CED 01711 #define GL_COLOR_ATTACHMENT14_NV 0x8CEE 01712 #define GL_COLOR_ATTACHMENT15_NV 0x8CEF 01713 #endif 01714 01715 /* GL_NV_fbo_color_attachments */ 01716 #ifndef GL_NV_fbo_color_attachments 01717 #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF 01718 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */ 01719 #endif 01720 01721 /* GL_NV_fence */ 01722 #ifndef GL_NV_fence 01723 #define GL_ALL_COMPLETED_NV 0x84F2 01724 #define GL_FENCE_STATUS_NV 0x84F3 01725 #define GL_FENCE_CONDITION_NV 0x84F4 01726 #endif 01727 01728 /* GL_NV_read_buffer */ 01729 #ifndef GL_NV_read_buffer 01730 #define GL_READ_BUFFER_NV 0x0C02 01731 #endif 01732 01733 /* GL_NV_read_buffer_front */ 01734 /* No new tokens introduced by this extension. */ 01735 01736 /* GL_NV_read_depth */ 01737 /* No new tokens introduced by this extension. */ 01738 01739 /* GL_NV_read_depth_stencil */ 01740 /* No new tokens introduced by this extension. */ 01741 01742 /* GL_NV_read_stencil */ 01743 /* No new tokens introduced by this extension. */ 01744 01745 /* GL_NV_texture_compression_s3tc_update */ 01746 /* No new tokens introduced by this extension. */ 01747 01748 /* GL_NV_texture_npot_2D_mipmap */ 01749 /* No new tokens introduced by this extension. */ 01750 01751 /*------------------------------------------------------------------------* 01752 * QCOM extension tokens 01753 *------------------------------------------------------------------------*/ 01754 01755 /* GL_QCOM_alpha_test */ 01756 #ifndef GL_QCOM_alpha_test 01757 #define GL_ALPHA_TEST_QCOM 0x0BC0 01758 #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 01759 #define GL_ALPHA_TEST_REF_QCOM 0x0BC2 01760 #endif 01761 01762 /* GL_QCOM_binning_control */ 01763 #ifndef GL_QCOM_binning_control 01764 #define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0 01765 #define GL_CPU_OPTIMIZED_QCOM 0x8FB1 01766 #define GL_GPU_OPTIMIZED_QCOM 0x8FB2 01767 #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 01768 #endif 01769 01770 /* GL_QCOM_driver_control */ 01771 /* No new tokens introduced by this extension. */ 01772 01773 /* GL_QCOM_extended_get */ 01774 #ifndef GL_QCOM_extended_get 01775 #define GL_TEXTURE_WIDTH_QCOM 0x8BD2 01776 #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 01777 #define GL_TEXTURE_DEPTH_QCOM 0x8BD4 01778 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 01779 #define GL_TEXTURE_FORMAT_QCOM 0x8BD6 01780 #define GL_TEXTURE_TYPE_QCOM 0x8BD7 01781 #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 01782 #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 01783 #define GL_TEXTURE_TARGET_QCOM 0x8BDA 01784 #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB 01785 #define GL_STATE_RESTORE 0x8BDC 01786 #endif 01787 01788 /* GL_QCOM_extended_get2 */ 01789 /* No new tokens introduced by this extension. */ 01790 01791 /* GL_QCOM_perfmon_global_mode */ 01792 #ifndef GL_QCOM_perfmon_global_mode 01793 #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 01794 #endif 01795 01796 /* GL_QCOM_writeonly_rendering */ 01797 #ifndef GL_QCOM_writeonly_rendering 01798 #define GL_WRITEONLY_RENDERING_QCOM 0x8823 01799 #endif 01800 01801 /* GL_QCOM_tiled_rendering */ 01802 #ifndef GL_QCOM_tiled_rendering 01803 #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 01804 #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 01805 #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 01806 #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 01807 #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 01808 #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 01809 #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 01810 #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 01811 #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 01812 #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 01813 #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 01814 #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 01815 #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 01816 #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 01817 #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 01818 #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 01819 #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 01820 #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 01821 #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 01822 #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 01823 #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 01824 #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 01825 #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 01826 #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 01827 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 01828 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 01829 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 01830 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 01831 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 01832 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 01833 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 01834 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 01835 #endif 01836 01837 /*------------------------------------------------------------------------* 01838 * VIV extension tokens 01839 *------------------------------------------------------------------------*/ 01840 01841 /* GL_VIV_shader_binary */ 01842 #ifndef GL_VIV_shader_binary 01843 #define GL_SHADER_BINARY_VIV 0x8FC4 01844 #endif 01845 01846 /*------------------------------------------------------------------------* 01847 * End of extension tokens, start of corresponding extension functions 01848 *------------------------------------------------------------------------*/ 01849 01850 /*------------------------------------------------------------------------* 01851 * OES extension functions 01852 *------------------------------------------------------------------------*/ 01853 01854 /* GL_OES_compressed_ETC1_RGB8_texture */ 01855 #ifndef GL_OES_compressed_ETC1_RGB8_texture 01856 #define GL_OES_compressed_ETC1_RGB8_texture 1 01857 #endif 01858 01859 /* GL_OES_compressed_paletted_texture */ 01860 #ifndef GL_OES_compressed_paletted_texture 01861 #define GL_OES_compressed_paletted_texture 1 01862 #endif 01863 01864 /* GL_OES_depth24 */ 01865 #ifndef GL_OES_depth24 01866 #define GL_OES_depth24 1 01867 #endif 01868 01869 /* GL_OES_depth32 */ 01870 #ifndef GL_OES_depth32 01871 #define GL_OES_depth32 1 01872 #endif 01873 01874 /* GL_OES_depth_texture */ 01875 #ifndef GL_OES_depth_texture 01876 #define GL_OES_depth_texture 1 01877 #endif 01878 01879 /* GL_OES_EGL_image */ 01880 #ifndef GL_OES_EGL_image 01881 #define GL_OES_EGL_image 1 01882 #ifdef GL_GLEXT_PROTOTYPES 01883 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 01884 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 01885 #endif 01886 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 01887 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); 01888 #endif 01889 01890 /* GL_OES_EGL_image_external */ 01891 #ifndef GL_OES_EGL_image_external 01892 #define GL_OES_EGL_image_external 1 01893 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ 01894 #endif 01895 01896 /* GL_OES_element_index_uint */ 01897 #ifndef GL_OES_element_index_uint 01898 #define GL_OES_element_index_uint 1 01899 #endif 01900 01901 /* GL_OES_fbo_render_mipmap */ 01902 #ifndef GL_OES_fbo_render_mipmap 01903 #define GL_OES_fbo_render_mipmap 1 01904 #endif 01905 01906 /* GL_OES_fragment_precision_high */ 01907 #ifndef GL_OES_fragment_precision_high 01908 #define GL_OES_fragment_precision_high 1 01909 #endif 01910 01911 /* GL_OES_get_program_binary */ 01912 #ifndef GL_OES_get_program_binary 01913 #define GL_OES_get_program_binary 1 01914 #ifdef GL_GLEXT_PROTOTYPES 01915 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 01916 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 01917 #endif 01918 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 01919 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 01920 #endif 01921 01922 /* GL_OES_mapbuffer */ 01923 #ifndef GL_OES_mapbuffer 01924 #define GL_OES_mapbuffer 1 01925 #ifdef GL_GLEXT_PROTOTYPES 01926 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 01927 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 01928 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); 01929 #endif 01930 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 01931 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 01932 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); 01933 #endif 01934 01935 /* GL_OES_packed_depth_stencil */ 01936 #ifndef GL_OES_packed_depth_stencil 01937 #define GL_OES_packed_depth_stencil 1 01938 #endif 01939 01940 /* GL_OES_required_internalformat */ 01941 #ifndef GL_OES_required_internalformat 01942 #define GL_OES_required_internalformat 1 01943 #endif 01944 01945 /* GL_OES_rgb8_rgba8 */ 01946 #ifndef GL_OES_rgb8_rgba8 01947 #define GL_OES_rgb8_rgba8 1 01948 #endif 01949 01950 /* GL_OES_standard_derivatives */ 01951 #ifndef GL_OES_standard_derivatives 01952 #define GL_OES_standard_derivatives 1 01953 #endif 01954 01955 /* GL_OES_stencil1 */ 01956 #ifndef GL_OES_stencil1 01957 #define GL_OES_stencil1 1 01958 #endif 01959 01960 /* GL_OES_stencil4 */ 01961 #ifndef GL_OES_stencil4 01962 #define GL_OES_stencil4 1 01963 #endif 01964 01965 #ifndef GL_OES_surfaceless_context 01966 #define GL_OES_surfaceless_context 1 01967 #endif 01968 01969 /* GL_OES_texture_3D */ 01970 #ifndef GL_OES_texture_3D 01971 #define GL_OES_texture_3D 1 01972 #ifdef GL_GLEXT_PROTOTYPES 01973 GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); 01974 GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels); 01975 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 01976 GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 01977 GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data); 01978 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 01979 #endif 01980 typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); 01981 typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels); 01982 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 01983 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 01984 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data); 01985 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 01986 #endif 01987 01988 /* GL_OES_texture_float */ 01989 #ifndef GL_OES_texture_float 01990 #define GL_OES_texture_float 1 01991 #endif 01992 01993 /* GL_OES_texture_float_linear */ 01994 #ifndef GL_OES_texture_float_linear 01995 #define GL_OES_texture_float_linear 1 01996 #endif 01997 01998 /* GL_OES_texture_half_float */ 01999 #ifndef GL_OES_texture_half_float 02000 #define GL_OES_texture_half_float 1 02001 #endif 02002 02003 /* GL_OES_texture_half_float_linear */ 02004 #ifndef GL_OES_texture_half_float_linear 02005 #define GL_OES_texture_half_float_linear 1 02006 #endif 02007 02008 /* GL_OES_texture_npot */ 02009 #ifndef GL_OES_texture_npot 02010 #define GL_OES_texture_npot 1 02011 #endif 02012 02013 /* GL_OES_vertex_array_object */ 02014 #ifndef GL_OES_vertex_array_object 02015 #define GL_OES_vertex_array_object 1 02016 #ifdef GL_GLEXT_PROTOTYPES 02017 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); 02018 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); 02019 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); 02020 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); 02021 #endif 02022 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); 02023 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); 02024 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); 02025 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); 02026 #endif 02027 02028 /* GL_OES_vertex_half_float */ 02029 #ifndef GL_OES_vertex_half_float 02030 #define GL_OES_vertex_half_float 1 02031 #endif 02032 02033 /* GL_OES_vertex_type_10_10_10_2 */ 02034 #ifndef GL_OES_vertex_type_10_10_10_2 02035 #define GL_OES_vertex_type_10_10_10_2 1 02036 #endif 02037 02038 /*------------------------------------------------------------------------* 02039 * KHR extension functions 02040 *------------------------------------------------------------------------*/ 02041 02042 #ifndef GL_KHR_debug 02043 #define GL_KHR_debug 1 02044 #ifdef GL_GLEXT_PROTOTYPES 02045 GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); 02046 GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); 02047 GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam); 02048 GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); 02049 GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message); 02050 GL_APICALL void GL_APIENTRY glPopDebugGroup (void); 02051 GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); 02052 GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); 02053 GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label); 02054 GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); 02055 GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params); 02056 #endif 02057 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); 02058 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); 02059 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam); 02060 typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); 02061 typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message); 02062 typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void); 02063 typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); 02064 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); 02065 typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label); 02066 typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); 02067 typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params); 02068 #endif 02069 02070 #ifndef GL_KHR_texture_compression_astc_ldr 02071 #define GL_KHR_texture_compression_astc_ldr 1 02072 #endif 02073 02074 02075 /*------------------------------------------------------------------------* 02076 * AMD extension functions 02077 *------------------------------------------------------------------------*/ 02078 02079 /* GL_AMD_compressed_3DC_texture */ 02080 #ifndef GL_AMD_compressed_3DC_texture 02081 #define GL_AMD_compressed_3DC_texture 1 02082 #endif 02083 02084 /* GL_AMD_compressed_ATC_texture */ 02085 #ifndef GL_AMD_compressed_ATC_texture 02086 #define GL_AMD_compressed_ATC_texture 1 02087 #endif 02088 02089 /* AMD_performance_monitor */ 02090 #ifndef GL_AMD_performance_monitor 02091 #define GL_AMD_performance_monitor 1 02092 #ifdef GL_GLEXT_PROTOTYPES 02093 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 02094 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 02095 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 02096 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 02097 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 02098 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 02099 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 02100 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 02101 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 02102 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 02103 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 02104 #endif 02105 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 02106 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 02107 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 02108 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 02109 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 02110 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 02111 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 02112 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 02113 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 02114 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 02115 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 02116 #endif 02117 02118 /* GL_AMD_program_binary_Z400 */ 02119 #ifndef GL_AMD_program_binary_Z400 02120 #define GL_AMD_program_binary_Z400 1 02121 #endif 02122 02123 /*------------------------------------------------------------------------* 02124 * ANGLE extension functions 02125 *------------------------------------------------------------------------*/ 02126 02127 /* GL_ANGLE_framebuffer_blit */ 02128 #ifndef GL_ANGLE_framebuffer_blit 02129 #define GL_ANGLE_framebuffer_blit 1 02130 #ifdef GL_GLEXT_PROTOTYPES 02131 GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 02132 #endif 02133 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 02134 #endif 02135 02136 /* GL_ANGLE_framebuffer_multisample */ 02137 #ifndef GL_ANGLE_framebuffer_multisample 02138 #define GL_ANGLE_framebuffer_multisample 1 02139 #ifdef GL_GLEXT_PROTOTYPES 02140 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 02141 #endif 02142 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 02143 #endif 02144 02145 #ifndef GL_ANGLE_instanced_arrays 02146 #ifdef GL_GLEXT_PROTOTYPES 02147 GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 02148 GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 02149 GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor); 02150 #endif 02151 typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 02152 typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 02153 typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); 02154 #endif 02155 02156 /* GL_ANGLE_pack_reverse_row_order */ 02157 #ifndef GL_ANGLE_pack_reverse_row_order 02158 #define GL_ANGLE_pack_reverse_row_order 1 02159 #endif 02160 02161 /* GL_ANGLE_texture_compression_dxt3 */ 02162 #ifndef GL_ANGLE_texture_compression_dxt3 02163 #define GL_ANGLE_texture_compression_dxt3 1 02164 #endif 02165 02166 /* GL_ANGLE_texture_compression_dxt5 */ 02167 #ifndef GL_ANGLE_texture_compression_dxt5 02168 #define GL_ANGLE_texture_compression_dxt5 1 02169 #endif 02170 02171 /* GL_ANGLE_texture_usage */ 02172 #ifndef GL_ANGLE_texture_usage 02173 #define GL_ANGLE_texture_usage 1 02174 #endif 02175 02176 #ifndef GL_ANGLE_translated_shader_source 02177 #define GL_ANGLE_translated_shader_source 1 02178 #ifdef GL_GLEXT_PROTOTYPES 02179 GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 02180 #endif 02181 typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 02182 #endif 02183 02184 /*------------------------------------------------------------------------* 02185 * APPLE extension functions 02186 *------------------------------------------------------------------------*/ 02187 02188 /* GL_APPLE_copy_texture_levels */ 02189 #ifndef GL_APPLE_copy_texture_levels 02190 #define GL_APPLE_copy_texture_levels 1 02191 #ifdef GL_GLEXT_PROTOTYPES 02192 GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); 02193 #endif 02194 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); 02195 #endif 02196 02197 /* GL_APPLE_framebuffer_multisample */ 02198 #ifndef GL_APPLE_framebuffer_multisample 02199 #define GL_APPLE_framebuffer_multisample 1 02200 #ifdef GL_GLEXT_PROTOTYPES 02201 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 02202 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); 02203 #endif /* GL_GLEXT_PROTOTYPES */ 02204 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 02205 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); 02206 #endif 02207 02208 /* GL_APPLE_rgb_422 */ 02209 #ifndef GL_APPLE_rgb_422 02210 #define GL_APPLE_rgb_422 1 02211 #endif 02212 02213 /* GL_APPLE_sync */ 02214 #ifndef GL_APPLE_sync 02215 #define GL_APPLE_sync 1 02216 #ifdef GL_GLEXT_PROTOTYPES 02217 GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags); 02218 GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync); 02219 GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync); 02220 GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); 02221 GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); 02222 GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params); 02223 GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); 02224 #endif 02225 typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags); 02226 typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync); 02227 typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync); 02228 typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 02229 typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 02230 typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params); 02231 typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); 02232 #endif 02233 02234 /* GL_APPLE_texture_format_BGRA8888 */ 02235 #ifndef GL_APPLE_texture_format_BGRA8888 02236 #define GL_APPLE_texture_format_BGRA8888 1 02237 #endif 02238 02239 /* GL_APPLE_texture_max_level */ 02240 #ifndef GL_APPLE_texture_max_level 02241 #define GL_APPLE_texture_max_level 1 02242 #endif 02243 02244 /*------------------------------------------------------------------------* 02245 * ARM extension functions 02246 *------------------------------------------------------------------------*/ 02247 02248 /* GL_ARM_mali_program_binary */ 02249 #ifndef GL_ARM_mali_program_binary 02250 #define GL_ARM_mali_program_binary 1 02251 #endif 02252 02253 /* GL_ARM_mali_shader_binary */ 02254 #ifndef GL_ARM_mali_shader_binary 02255 #define GL_ARM_mali_shader_binary 1 02256 #endif 02257 02258 /* GL_ARM_rgba8 */ 02259 #ifndef GL_ARM_rgba8 02260 #define GL_ARM_rgba8 1 02261 #endif 02262 02263 /*------------------------------------------------------------------------* 02264 * EXT extension functions 02265 *------------------------------------------------------------------------*/ 02266 02267 /* GL_EXT_blend_minmax */ 02268 #ifndef GL_EXT_blend_minmax 02269 #define GL_EXT_blend_minmax 1 02270 #endif 02271 02272 /* GL_EXT_color_buffer_half_float */ 02273 #ifndef GL_EXT_color_buffer_half_float 02274 #define GL_EXT_color_buffer_half_float 1 02275 #endif 02276 02277 /* GL_EXT_debug_label */ 02278 #ifndef GL_EXT_debug_label 02279 #define GL_EXT_debug_label 1 02280 #ifdef GL_GLEXT_PROTOTYPES 02281 GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); 02282 GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 02283 #endif 02284 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); 02285 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 02286 #endif 02287 02288 /* GL_EXT_debug_marker */ 02289 #ifndef GL_EXT_debug_marker 02290 #define GL_EXT_debug_marker 1 02291 #ifdef GL_GLEXT_PROTOTYPES 02292 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); 02293 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); 02294 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); 02295 #endif 02296 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); 02297 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); 02298 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); 02299 #endif 02300 02301 /* GL_EXT_discard_framebuffer */ 02302 #ifndef GL_EXT_discard_framebuffer 02303 #define GL_EXT_discard_framebuffer 1 02304 #ifdef GL_GLEXT_PROTOTYPES 02305 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); 02306 #endif 02307 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); 02308 #endif 02309 02310 /* GL_EXT_map_buffer_range */ 02311 #ifndef GL_EXT_map_buffer_range 02312 #define GL_EXT_map_buffer_range 1 02313 #ifdef GL_GLEXT_PROTOTYPES 02314 GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 02315 GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length); 02316 #endif 02317 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 02318 typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length); 02319 #endif 02320 02321 /* GL_EXT_multisampled_render_to_texture */ 02322 #ifndef GL_EXT_multisampled_render_to_texture 02323 #define GL_EXT_multisampled_render_to_texture 1 02324 #ifdef GL_GLEXT_PROTOTYPES 02325 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 02326 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 02327 #endif 02328 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 02329 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 02330 #endif 02331 02332 /* GL_EXT_multiview_draw_buffers */ 02333 #ifndef GL_EXT_multiview_draw_buffers 02334 #define GL_EXT_multiview_draw_buffers 1 02335 #ifdef GL_GLEXT_PROTOTYPES 02336 GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index); 02337 GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices); 02338 GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data); 02339 #endif 02340 typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index); 02341 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices); 02342 typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data); 02343 #endif 02344 02345 #ifndef GL_EXT_multi_draw_arrays 02346 #define GL_EXT_multi_draw_arrays 1 02347 #ifdef GL_GLEXT_PROTOTYPES 02348 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); 02349 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); 02350 #endif /* GL_GLEXT_PROTOTYPES */ 02351 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 02352 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); 02353 #endif 02354 02355 /* GL_EXT_occlusion_query_boolean */ 02356 #ifndef GL_EXT_occlusion_query_boolean 02357 #define GL_EXT_occlusion_query_boolean 1 02358 #ifdef GL_GLEXT_PROTOTYPES 02359 GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids); 02360 GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids); 02361 GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id); 02362 GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id); 02363 GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target); 02364 GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params); 02365 GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params); 02366 #endif 02367 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); 02368 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); 02369 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id); 02370 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); 02371 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target); 02372 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); 02373 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params); 02374 #endif 02375 02376 /* GL_EXT_read_format_bgra */ 02377 #ifndef GL_EXT_read_format_bgra 02378 #define GL_EXT_read_format_bgra 1 02379 #endif 02380 02381 /* GL_EXT_robustness */ 02382 #ifndef GL_EXT_robustness 02383 #define GL_EXT_robustness 1 02384 #ifdef GL_GLEXT_PROTOTYPES 02385 GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void); 02386 GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 02387 GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params); 02388 GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); 02389 #endif 02390 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); 02391 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 02392 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params); 02393 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); 02394 #endif 02395 02396 /* GL_EXT_separate_shader_objects */ 02397 #ifndef GL_EXT_separate_shader_objects 02398 #define GL_EXT_separate_shader_objects 1 02399 #ifdef GL_GLEXT_PROTOTYPES 02400 GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); 02401 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program); 02402 GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); 02403 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline); 02404 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); 02405 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); 02406 GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline); 02407 GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value); 02408 GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); 02409 GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x); 02410 GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y); 02411 GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z); 02412 GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 02413 GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x); 02414 GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y); 02415 GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 02416 GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 02417 GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 02418 GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 02419 GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 02420 GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 02421 GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 02422 GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 02423 GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 02424 GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 02425 GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 02426 GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 02427 GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 02428 GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline); 02429 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 02430 #endif 02431 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); 02432 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); 02433 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); 02434 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 02435 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); 02436 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); 02437 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 02438 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); 02439 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); 02440 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x); 02441 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y); 02442 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); 02443 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 02444 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x); 02445 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); 02446 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 02447 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 02448 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 02449 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 02450 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 02451 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 02452 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 02453 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 02454 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 02455 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 02456 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 02457 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 02458 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 02459 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 02460 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 02461 #endif 02462 02463 /* GL_EXT_shader_framebuffer_fetch */ 02464 #ifndef GL_EXT_shader_framebuffer_fetch 02465 #define GL_EXT_shader_framebuffer_fetch 1 02466 #endif 02467 02468 /* GL_EXT_shader_texture_lod */ 02469 #ifndef GL_EXT_shader_texture_lod 02470 #define GL_EXT_shader_texture_lod 1 02471 #endif 02472 02473 /* GL_EXT_shadow_samplers */ 02474 #ifndef GL_EXT_shadow_samplers 02475 #define GL_EXT_shadow_samplers 1 02476 #endif 02477 02478 /* GL_EXT_sRGB */ 02479 #ifndef GL_EXT_sRGB 02480 #define GL_EXT_sRGB 1 02481 #endif 02482 02483 /* GL_EXT_texture_compression_dxt1 */ 02484 #ifndef GL_EXT_texture_compression_dxt1 02485 #define GL_EXT_texture_compression_dxt1 1 02486 #endif 02487 02488 /* GL_EXT_texture_filter_anisotropic */ 02489 #ifndef GL_EXT_texture_filter_anisotropic 02490 #define GL_EXT_texture_filter_anisotropic 1 02491 #endif 02492 02493 /* GL_EXT_texture_format_BGRA8888 */ 02494 #ifndef GL_EXT_texture_format_BGRA8888 02495 #define GL_EXT_texture_format_BGRA8888 1 02496 #endif 02497 02498 /* GL_EXT_texture_rg */ 02499 #ifndef GL_EXT_texture_rg 02500 #define GL_EXT_texture_rg 1 02501 #endif 02502 02503 /* GL_EXT_texture_storage */ 02504 #ifndef GL_EXT_texture_storage 02505 #define GL_EXT_texture_storage 1 02506 #ifdef GL_GLEXT_PROTOTYPES 02507 GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 02508 GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 02509 GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 02510 GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 02511 GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 02512 GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 02513 #endif 02514 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 02515 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 02516 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 02517 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 02518 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 02519 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 02520 #endif 02521 02522 /* GL_EXT_texture_type_2_10_10_10_REV */ 02523 #ifndef GL_EXT_texture_type_2_10_10_10_REV 02524 #define GL_EXT_texture_type_2_10_10_10_REV 1 02525 #endif 02526 02527 /* GL_EXT_unpack_subimage */ 02528 #ifndef GL_EXT_unpack_subimage 02529 #define GL_EXT_unpack_subimage 1 02530 #endif 02531 02532 /*------------------------------------------------------------------------* 02533 * DMP extension functions 02534 *------------------------------------------------------------------------*/ 02535 02536 /* GL_DMP_shader_binary */ 02537 #ifndef GL_DMP_shader_binary 02538 #define GL_DMP_shader_binary 1 02539 #endif 02540 02541 /*------------------------------------------------------------------------* 02542 * FJ extension functions 02543 *------------------------------------------------------------------------*/ 02544 02545 /* GL_FJ_shader_binary_GCCSO */ 02546 #ifndef GL_FJ_shader_binary_GCCSO 02547 #define GL_FJ_shader_binary_GCCSO 1 02548 #endif 02549 02550 /*------------------------------------------------------------------------* 02551 * IMG extension functions 02552 *------------------------------------------------------------------------*/ 02553 02554 /* GL_IMG_program_binary */ 02555 #ifndef GL_IMG_program_binary 02556 #define GL_IMG_program_binary 1 02557 #endif 02558 02559 /* GL_IMG_read_format */ 02560 #ifndef GL_IMG_read_format 02561 #define GL_IMG_read_format 1 02562 #endif 02563 02564 /* GL_IMG_shader_binary */ 02565 #ifndef GL_IMG_shader_binary 02566 #define GL_IMG_shader_binary 1 02567 #endif 02568 02569 /* GL_IMG_texture_compression_pvrtc */ 02570 #ifndef GL_IMG_texture_compression_pvrtc 02571 #define GL_IMG_texture_compression_pvrtc 1 02572 #endif 02573 02574 /* GL_IMG_multisampled_render_to_texture */ 02575 #ifndef GL_IMG_multisampled_render_to_texture 02576 #define GL_IMG_multisampled_render_to_texture 1 02577 #ifdef GL_GLEXT_PROTOTYPES 02578 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 02579 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 02580 #endif 02581 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 02582 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 02583 #endif 02584 02585 /*------------------------------------------------------------------------* 02586 * NV extension functions 02587 *------------------------------------------------------------------------*/ 02588 02589 /* GL_NV_coverage_sample */ 02590 #ifndef GL_NV_coverage_sample 02591 #define GL_NV_coverage_sample 1 02592 #ifdef GL_GLEXT_PROTOTYPES 02593 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); 02594 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); 02595 #endif 02596 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); 02597 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); 02598 #endif 02599 02600 /* GL_NV_depth_nonlinear */ 02601 #ifndef GL_NV_depth_nonlinear 02602 #define GL_NV_depth_nonlinear 1 02603 #endif 02604 02605 /* GL_NV_draw_buffers */ 02606 #ifndef GL_NV_draw_buffers 02607 #define GL_NV_draw_buffers 1 02608 #ifdef GL_GLEXT_PROTOTYPES 02609 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); 02610 #endif 02611 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); 02612 #endif 02613 02614 /* GL_NV_fbo_color_attachments */ 02615 #ifndef GL_NV_fbo_color_attachments 02616 #define GL_NV_fbo_color_attachments 1 02617 #endif 02618 02619 /* GL_NV_fence */ 02620 #ifndef GL_NV_fence 02621 #define GL_NV_fence 1 02622 #ifdef GL_GLEXT_PROTOTYPES 02623 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); 02624 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); 02625 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); 02626 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); 02627 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); 02628 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); 02629 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); 02630 #endif 02631 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 02632 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 02633 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 02634 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 02635 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 02636 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 02637 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); 02638 #endif 02639 02640 /* GL_NV_read_buffer */ 02641 #ifndef GL_NV_read_buffer 02642 #define GL_NV_read_buffer 1 02643 #ifdef GL_GLEXT_PROTOTYPES 02644 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); 02645 #endif 02646 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); 02647 #endif 02648 02649 /* GL_NV_read_buffer_front */ 02650 #ifndef GL_NV_read_buffer_front 02651 #define GL_NV_read_buffer_front 1 02652 #endif 02653 02654 /* GL_NV_read_depth */ 02655 #ifndef GL_NV_read_depth 02656 #define GL_NV_read_depth 1 02657 #endif 02658 02659 /* GL_NV_read_depth_stencil */ 02660 #ifndef GL_NV_read_depth_stencil 02661 #define GL_NV_read_depth_stencil 1 02662 #endif 02663 02664 /* GL_NV_read_stencil */ 02665 #ifndef GL_NV_read_stencil 02666 #define GL_NV_read_stencil 1 02667 #endif 02668 02669 /* GL_NV_texture_compression_s3tc_update */ 02670 #ifndef GL_NV_texture_compression_s3tc_update 02671 #define GL_NV_texture_compression_s3tc_update 1 02672 #endif 02673 02674 /* GL_NV_texture_npot_2D_mipmap */ 02675 #ifndef GL_NV_texture_npot_2D_mipmap 02676 #define GL_NV_texture_npot_2D_mipmap 1 02677 #endif 02678 02679 /*------------------------------------------------------------------------* 02680 * QCOM extension functions 02681 *------------------------------------------------------------------------*/ 02682 02683 /* GL_QCOM_alpha_test */ 02684 #ifndef GL_QCOM_alpha_test 02685 #define GL_QCOM_alpha_test 1 02686 #ifdef GL_GLEXT_PROTOTYPES 02687 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); 02688 #endif 02689 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); 02690 #endif 02691 02692 /* GL_QCOM_binning_control */ 02693 #ifndef GL_QCOM_binning_control 02694 #define GL_QCOM_binning_control 1 02695 #endif 02696 02697 /* GL_QCOM_driver_control */ 02698 #ifndef GL_QCOM_driver_control 02699 #define GL_QCOM_driver_control 1 02700 #ifdef GL_GLEXT_PROTOTYPES 02701 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 02702 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 02703 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 02704 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 02705 #endif 02706 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 02707 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 02708 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 02709 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 02710 #endif 02711 02712 /* GL_QCOM_extended_get */ 02713 #ifndef GL_QCOM_extended_get 02714 #define GL_QCOM_extended_get 1 02715 #ifdef GL_GLEXT_PROTOTYPES 02716 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); 02717 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 02718 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 02719 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 02720 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 02721 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); 02722 GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); 02723 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); 02724 #endif 02725 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); 02726 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 02727 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 02728 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 02729 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 02730 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); 02731 typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); 02732 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); 02733 #endif 02734 02735 /* GL_QCOM_extended_get2 */ 02736 #ifndef GL_QCOM_extended_get2 02737 #define GL_QCOM_extended_get2 1 02738 #ifdef GL_GLEXT_PROTOTYPES 02739 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); 02740 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 02741 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); 02742 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 02743 #endif 02744 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); 02745 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 02746 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); 02747 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 02748 #endif 02749 02750 /* GL_QCOM_perfmon_global_mode */ 02751 #ifndef GL_QCOM_perfmon_global_mode 02752 #define GL_QCOM_perfmon_global_mode 1 02753 #endif 02754 02755 /* GL_QCOM_writeonly_rendering */ 02756 #ifndef GL_QCOM_writeonly_rendering 02757 #define GL_QCOM_writeonly_rendering 1 02758 #endif 02759 02760 /* GL_QCOM_tiled_rendering */ 02761 #ifndef GL_QCOM_tiled_rendering 02762 #define GL_QCOM_tiled_rendering 1 02763 #ifdef GL_GLEXT_PROTOTYPES 02764 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 02765 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); 02766 #endif 02767 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 02768 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); 02769 #endif 02770 02771 /*------------------------------------------------------------------------* 02772 * VIV extension tokens 02773 *------------------------------------------------------------------------*/ 02774 02775 /* GL_VIV_shader_binary */ 02776 #ifndef GL_VIV_shader_binary 02777 #define GL_VIV_shader_binary 1 02778 #endif 02779 02780 #ifdef __cplusplus 02781 } 02782 #endif 02783 02784 #endif /* __gl2ext_h_ */ 02785 02786 #endif /* _MSC_VER */ 02787 02788 #ifndef APIENTRY 02789 #define APIENTRY GL_APIENTRY 02790 #endif
Generated on Tue Jul 12 2022 15:10:20 by 1.7.2