From e78f4ff9102059b6c9febae8e8553d104c4f73d1 Mon Sep 17 00:00:00 2001 From: matcool <26722564+matcool@users.noreply.github.com> Date: Sun, 11 Dec 2022 14:43:34 -0300 Subject: [PATCH] update glew, add its lib and fmod.lib --- cmake/Platform.cmake | 2 + loader/include/Geode/cocos/libcocos2d.lib | Bin 2029696 -> 0 bytes .../third_party/win32/OGLES/GL/glew.h | 5790 ++++++++++++++++- .../third_party/win32/OGLES/GL/glxew.h | 2 +- loader/include/link/fmod.lib | Bin 0 -> 350516 bytes loader/include/link/glew32.lib | Bin 0 -> 669944 bytes 6 files changed, 5603 insertions(+), 191 deletions(-) delete mode 100644 loader/include/Geode/cocos/libcocos2d.lib create mode 100644 loader/include/link/fmod.lib create mode 100644 loader/include/link/glew32.lib diff --git a/cmake/Platform.cmake b/cmake/Platform.cmake index d5706f69..68c437b5 100644 --- a/cmake/Platform.cmake +++ b/cmake/Platform.cmake @@ -65,6 +65,8 @@ elseif (GEODE_TARGET_PLATFORM STREQUAL "Win32") ${GEODE_LOADER_PATH}/include/link/libExtensions.lib ${GEODE_LOADER_PATH}/include/link/libcurl.lib ${GEODE_LOADER_PATH}/include/link/gdstring.lib + ${GEODE_LOADER_PATH}/include/link/glew32.lib + ${GEODE_LOADER_PATH}/include/link/fmod.lib ) # Windows links against .lib and not .dll diff --git a/loader/include/Geode/cocos/libcocos2d.lib b/loader/include/Geode/cocos/libcocos2d.lib deleted file mode 100644 index 93dd7459f1d61acbb156135590259efedc907c17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2029696 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%0D}e3JeOo$O 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

A=!3&{5QpH% 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


20tVt{^69Zs)ocIDewvo>5P2vP_*bed& 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

<JrxWRo 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

O%U&9wqxTZmM-2@&d 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 gXQ#p&dhEG-0&5hp=VFC7lGt+(1D -** Copyright (C) 2002-2007, Marcelo E. Magallon +** Copyright (C) 2002-2008, Milan Ikits +** Copyright (C) 2002-2008, Marcelo E. Magallon ** Copyright (C) 2002, Lev Povalahev ** All rights reserved. ** @@ -30,39 +30,57 @@ */ /* -** License Applicability. Except to the extent portions of this file are -** made subject to an alternative license as permitted in the SGI Free -** Software License B, Version 1.1 (the "License"), the contents of this -** file are subject only to the provisions of the License. You may not use -** this file except in compliance with the License. You may obtain a copy -** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 -** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: + * Mesa 3-D graphics library + * Version: 7.0 + * + * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* +** Copyright (c) 2007 The Khronos Group Inc. ** -** http://oss.sgi.com/projects/FreeB +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: ** -** Note that, as provided in the License, the Software is distributed on an -** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS -** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND -** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A -** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. ** -** Original Code. The Original Code is: OpenGL Sample Implementation, -** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, -** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. -** Copyright in any portions created by third parties is as indicated -** elsewhere herein. All Rights Reserved. -** -** Additional Notice Provisions: This software was created using the -** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has -** not been independently verified as being compliant with the OpenGL(R) -** version 1.2.1 Specification. +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. */ #ifndef __glew_h__ #define __glew_h__ #define __GLEW_H__ -#if defined(__gl_h_) || defined(__GL_H__) +#if defined(__gl_h_) || defined(__GL_H__) || defined(__X_GL_H) #error gl.h included before glew.h #endif #if defined(__glext_h_) || defined(__GLEXT_H_) @@ -74,6 +92,7 @@ #define __gl_h_ #define __GL_H__ +#define __X_GL_H #define __glext_h_ #define __GLEXT_H_ #define __gl_ATI_h_ @@ -88,7 +107,7 @@ /* */ #ifndef APIENTRY #define GLEW_APIENTRY_DEFINED -# if defined(__MINGW32__) +# if defined(__MINGW32__) || defined(__CYGWIN__) # define APIENTRY __stdcall # elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) # define APIENTRY __stdcall @@ -97,14 +116,14 @@ # endif #endif #ifndef GLAPI -# if defined(__MINGW32__) +# if defined(__MINGW32__) || defined(__CYGWIN__) # define GLAPI extern # endif #endif /* */ #ifndef CALLBACK #define GLEW_CALLBACK_DEFINED -# if defined(__MINGW32__) +# if defined(__MINGW32__) || defined(__CYGWIN__) # define CALLBACK __attribute__ ((__stdcall__)) # elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) # define CALLBACK __stdcall @@ -124,13 +143,13 @@ typedef unsigned short wchar_t; #endif /* */ #if !defined(_W64) -# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 +# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && defined(_MSC_VER) && _MSC_VER >= 1300 # define _W64 __w64 # else # define _W64 # endif #endif -#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_) +#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_) && !defined(__MINGW64__) # ifdef _WIN64 typedef __int64 ptrdiff_t; # else @@ -141,7 +160,7 @@ typedef _W64 int ptrdiff_t; #endif #ifndef GLAPI -# if defined(__MINGW32__) +# if defined(__MINGW32__) || defined(__CYGWIN__) # define GLAPI extern # else # define GLAPI WINGDIAPI @@ -153,9 +172,10 @@ typedef _W64 int ptrdiff_t; #endif /* - * GLEW_STATIC needs to be set when using the static version. - * GLEW_BUILD is set when building the DLL version. + * GLEW_STATIC is defined for static library. + * GLEW_BUILD is defined for building the DLL library. */ + #ifdef GLEW_STATIC # define GLEWAPI extern #else @@ -179,9 +199,33 @@ typedef _W64 int ptrdiff_t; #include +/* SGI MIPSPro doesn't like stdint.h in C++ mode */ +/* ID: 3376260 Solaris 9 has inttypes.h, but not stdint.h */ + +#if (defined(__sgi) || defined(__sun)) && !defined(__GNUC__) +#include +#else +#include +#endif + #define GLEW_APIENTRY_DEFINED #define APIENTRY -#define GLEWAPI extern + +/* + * GLEW_STATIC is defined for static library. + */ + +#ifdef GLEW_STATIC +# define GLEWAPI extern +#else +# if defined(__GNUC__) && __GNUC__>=4 +# define GLEWAPI extern __attribute__ ((visibility("default"))) +# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) +# define GLEWAPI extern __global +# else +# define GLEWAPI extern +# endif +#endif /* */ #ifndef GLAPI @@ -202,48 +246,77 @@ extern "C" { #ifndef GL_VERSION_1_1 #define GL_VERSION_1_1 1 -#if defined(__APPLE__) -typedef unsigned long GLenum; -typedef unsigned long GLbitfield; -typedef unsigned long GLuint; -typedef long GLint; -typedef long GLsizei; -#else typedef unsigned int GLenum; typedef unsigned int GLbitfield; typedef unsigned int GLuint; typedef int GLint; typedef int GLsizei; -#endif typedef unsigned char GLboolean; typedef signed char GLbyte; typedef short GLshort; typedef unsigned char GLubyte; typedef unsigned short GLushort; +typedef unsigned long GLulong; typedef float GLfloat; typedef float GLclampf; typedef double GLdouble; typedef double GLclampd; typedef void GLvoid; -#if defined(_MSC_VER) && _MSC_VER < 1310 -# ifdef _WIN64 +#if defined(_MSC_VER) && _MSC_VER < 1400 typedef __int64 GLint64EXT; typedef unsigned __int64 GLuint64EXT; -# else -typedef _W64 int GLint64EXT; -typedef _W64 unsigned int GLuint64EXT; -# endif -#else +#elif defined(_MSC_VER) || defined(__BORLANDC__) typedef signed long long GLint64EXT; typedef unsigned long long GLuint64EXT; +#else +# if defined(__MINGW32__) || defined(__CYGWIN__) +#include +# endif +typedef int64_t GLint64EXT; +typedef uint64_t GLuint64EXT; #endif +typedef GLint64EXT GLint64; +typedef GLuint64EXT GLuint64; +typedef struct __GLsync *GLsync; +typedef char GLchar; + +#define GL_ZERO 0 +#define GL_FALSE 0 +#define GL_LOGIC_OP 0x0BF1 +#define GL_NONE 0 +#define GL_TEXTURE_COMPONENTS 0x1003 +#define GL_NO_ERROR 0 +#define GL_POINTS 0x0000 +#define GL_CURRENT_BIT 0x00000001 +#define GL_TRUE 1 +#define GL_ONE 1 +#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_POINT_BIT 0x00000002 +#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002 +#define GL_LINE_STRIP 0x0003 +#define GL_LINE_BIT 0x00000004 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 +#define GL_QUADS 0x0007 +#define GL_QUAD_STRIP 0x0008 +#define GL_POLYGON_BIT 0x00000008 +#define GL_POLYGON 0x0009 +#define GL_POLYGON_STIPPLE_BIT 0x00000010 +#define GL_PIXEL_MODE_BIT 0x00000020 +#define GL_LIGHTING_BIT 0x00000040 +#define GL_FOG_BIT 0x00000080 +#define GL_DEPTH_BUFFER_BIT 0x00000100 #define GL_ACCUM 0x0100 #define GL_LOAD 0x0101 #define GL_RETURN 0x0102 #define GL_MULT 0x0103 #define GL_ADD 0x0104 #define GL_NEVER 0x0200 +#define GL_ACCUM_BUFFER_BIT 0x00000200 #define GL_LESS 0x0201 #define GL_EQUAL 0x0202 #define GL_LEQUAL 0x0203 @@ -251,39 +324,6 @@ typedef unsigned long long GLuint64EXT; #define GL_NOTEQUAL 0x0205 #define GL_GEQUAL 0x0206 #define GL_ALWAYS 0x0207 -#define GL_CURRENT_BIT 0x00000001 -#define GL_POINT_BIT 0x00000002 -#define GL_LINE_BIT 0x00000004 -#define GL_POLYGON_BIT 0x00000008 -#define GL_POLYGON_STIPPLE_BIT 0x00000010 -#define GL_PIXEL_MODE_BIT 0x00000020 -#define GL_LIGHTING_BIT 0x00000040 -#define GL_FOG_BIT 0x00000080 -#define GL_DEPTH_BUFFER_BIT 0x00000100 -#define GL_ACCUM_BUFFER_BIT 0x00000200 -#define GL_STENCIL_BUFFER_BIT 0x00000400 -#define GL_VIEWPORT_BIT 0x00000800 -#define GL_TRANSFORM_BIT 0x00001000 -#define GL_ENABLE_BIT 0x00002000 -#define GL_COLOR_BUFFER_BIT 0x00004000 -#define GL_HINT_BIT 0x00008000 -#define GL_EVAL_BIT 0x00010000 -#define GL_LIST_BIT 0x00020000 -#define GL_TEXTURE_BIT 0x00040000 -#define GL_SCISSOR_BIT 0x00080000 -#define GL_ALL_ATTRIB_BITS 0x000fffff -#define GL_POINTS 0x0000 -#define GL_LINES 0x0001 -#define GL_LINE_LOOP 0x0002 -#define GL_LINE_STRIP 0x0003 -#define GL_TRIANGLES 0x0004 -#define GL_TRIANGLE_STRIP 0x0005 -#define GL_TRIANGLE_FAN 0x0006 -#define GL_QUADS 0x0007 -#define GL_QUAD_STRIP 0x0008 -#define GL_POLYGON 0x0009 -#define GL_ZERO 0 -#define GL_ONE 1 #define GL_SRC_COLOR 0x0300 #define GL_ONE_MINUS_SRC_COLOR 0x0301 #define GL_SRC_ALPHA 0x0302 @@ -293,26 +333,7 @@ typedef unsigned long long GLuint64EXT; #define GL_DST_COLOR 0x0306 #define GL_ONE_MINUS_DST_COLOR 0x0307 #define GL_SRC_ALPHA_SATURATE 0x0308 -#define GL_TRUE 1 -#define GL_FALSE 0 -#define GL_CLIP_PLANE0 0x3000 -#define GL_CLIP_PLANE1 0x3001 -#define GL_CLIP_PLANE2 0x3002 -#define GL_CLIP_PLANE3 0x3003 -#define GL_CLIP_PLANE4 0x3004 -#define GL_CLIP_PLANE5 0x3005 -#define GL_BYTE 0x1400 -#define GL_UNSIGNED_BYTE 0x1401 -#define GL_SHORT 0x1402 -#define GL_UNSIGNED_SHORT 0x1403 -#define GL_INT 0x1404 -#define GL_UNSIGNED_INT 0x1405 -#define GL_FLOAT 0x1406 -#define GL_2_BYTES 0x1407 -#define GL_3_BYTES 0x1408 -#define GL_4_BYTES 0x1409 -#define GL_DOUBLE 0x140A -#define GL_NONE 0 +#define GL_STENCIL_BUFFER_BIT 0x00000400 #define GL_FRONT_LEFT 0x0400 #define GL_FRONT_RIGHT 0x0401 #define GL_BACK_LEFT 0x0402 @@ -326,7 +347,6 @@ typedef unsigned long long GLuint64EXT; #define GL_AUX1 0x040A #define GL_AUX2 0x040B #define GL_AUX3 0x040C -#define GL_NO_ERROR 0 #define GL_INVALID_ENUM 0x0500 #define GL_INVALID_VALUE 0x0501 #define GL_INVALID_OPERATION 0x0502 @@ -347,6 +367,7 @@ typedef unsigned long long GLuint64EXT; #define GL_COPY_PIXEL_TOKEN 0x0706 #define GL_LINE_RESET_TOKEN 0x0707 #define GL_EXP 0x0800 +#define GL_VIEWPORT_BIT 0x00000800 #define GL_EXP2 0x0801 #define GL_CW 0x0900 #define GL_CCW 0x0901 @@ -563,6 +584,7 @@ typedef unsigned long long GLuint64EXT; #define GL_SELECTION_BUFFER_POINTER 0x0DF3 #define GL_SELECTION_BUFFER_SIZE 0x0DF4 #define GL_TEXTURE_WIDTH 0x1000 +#define GL_TRANSFORM_BIT 0x00001000 #define GL_TEXTURE_HEIGHT 0x1001 #define GL_TEXTURE_INTERNAL_FORMAT 0x1003 #define GL_TEXTURE_BORDER_COLOR 0x1004 @@ -570,14 +592,6 @@ typedef unsigned long long GLuint64EXT; #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 -#define GL_LIGHT0 0x4000 -#define GL_LIGHT1 0x4001 -#define GL_LIGHT2 0x4002 -#define GL_LIGHT3 0x4003 -#define GL_LIGHT4 0x4004 -#define GL_LIGHT5 0x4005 -#define GL_LIGHT6 0x4006 -#define GL_LIGHT7 0x4007 #define GL_AMBIENT 0x1200 #define GL_DIFFUSE 0x1201 #define GL_SPECULAR 0x1202 @@ -590,6 +604,17 @@ typedef unsigned long long GLuint64EXT; #define GL_QUADRATIC_ATTENUATION 0x1209 #define GL_COMPILE 0x1300 #define GL_COMPILE_AND_EXECUTE 0x1301 +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_INT 0x1404 +#define GL_UNSIGNED_INT 0x1405 +#define GL_FLOAT 0x1406 +#define GL_2_BYTES 0x1407 +#define GL_3_BYTES 0x1408 +#define GL_4_BYTES 0x1409 +#define GL_DOUBLE 0x140A #define GL_CLEAR 0x1500 #define GL_AND 0x1501 #define GL_AND_REVERSE 0x1502 @@ -645,6 +670,7 @@ typedef unsigned long long GLuint64EXT; #define GL_VERSION 0x1F02 #define GL_EXTENSIONS 0x1F03 #define GL_S 0x2000 +#define GL_ENABLE_BIT 0x00002000 #define GL_T 0x2001 #define GL_R 0x2002 #define GL_Q 0x2003 @@ -671,14 +697,42 @@ typedef unsigned long long GLuint64EXT; #define GL_TEXTURE_WRAP_T 0x2803 #define GL_CLAMP 0x2900 #define GL_REPEAT 0x2901 -#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001 -#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002 -#define GL_CLIENT_ALL_ATTRIB_BITS 0xffffffff -#define GL_POLYGON_OFFSET_FACTOR 0x8038 #define GL_POLYGON_OFFSET_UNITS 0x2A00 #define GL_POLYGON_OFFSET_POINT 0x2A01 #define GL_POLYGON_OFFSET_LINE 0x2A02 +#define GL_R3_G3_B2 0x2A10 +#define GL_V2F 0x2A20 +#define GL_V3F 0x2A21 +#define GL_C4UB_V2F 0x2A22 +#define GL_C4UB_V3F 0x2A23 +#define GL_C3F_V3F 0x2A24 +#define GL_N3F_V3F 0x2A25 +#define GL_C4F_N3F_V3F 0x2A26 +#define GL_T2F_V3F 0x2A27 +#define GL_T4F_V4F 0x2A28 +#define GL_T2F_C4UB_V3F 0x2A29 +#define GL_T2F_C3F_V3F 0x2A2A +#define GL_T2F_N3F_V3F 0x2A2B +#define GL_T2F_C4F_N3F_V3F 0x2A2C +#define GL_T4F_C4F_N3F_V4F 0x2A2D +#define GL_CLIP_PLANE0 0x3000 +#define GL_CLIP_PLANE1 0x3001 +#define GL_CLIP_PLANE2 0x3002 +#define GL_CLIP_PLANE3 0x3003 +#define GL_CLIP_PLANE4 0x3004 +#define GL_CLIP_PLANE5 0x3005 +#define GL_LIGHT0 0x4000 +#define GL_COLOR_BUFFER_BIT 0x00004000 +#define GL_LIGHT1 0x4001 +#define GL_LIGHT2 0x4002 +#define GL_LIGHT3 0x4003 +#define GL_LIGHT4 0x4004 +#define GL_LIGHT5 0x4005 +#define GL_LIGHT6 0x4006 +#define GL_LIGHT7 0x4007 +#define GL_HINT_BIT 0x00008000 #define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_FACTOR 0x8038 #define GL_ALPHA4 0x803B #define GL_ALPHA8 0x803C #define GL_ALPHA12 0x803D @@ -698,7 +752,6 @@ typedef unsigned long long GLuint64EXT; #define GL_INTENSITY8 0x804B #define GL_INTENSITY12 0x804C #define GL_INTENSITY16 0x804D -#define GL_R3_G3_B2 0x2A10 #define GL_RGB4 0x804F #define GL_RGB5 0x8050 #define GL_RGB8 0x8051 @@ -750,28 +803,18 @@ typedef unsigned long long GLuint64EXT; #define GL_INDEX_ARRAY_POINTER 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 -#define GL_V2F 0x2A20 -#define GL_V3F 0x2A21 -#define GL_C4UB_V2F 0x2A22 -#define GL_C4UB_V3F 0x2A23 -#define GL_C3F_V3F 0x2A24 -#define GL_N3F_V3F 0x2A25 -#define GL_C4F_N3F_V3F 0x2A26 -#define GL_T2F_V3F 0x2A27 -#define GL_T4F_V4F 0x2A28 -#define GL_T2F_C4UB_V3F 0x2A29 -#define GL_T2F_C3F_V3F 0x2A2A -#define GL_T2F_N3F_V3F 0x2A2B -#define GL_T2F_C4F_N3F_V3F 0x2A2C -#define GL_T4F_C4F_N3F_V4F 0x2A2D -#define GL_LOGIC_OP GL_INDEX_LOGIC_OP -#define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT #define GL_COLOR_INDEX1_EXT 0x80E2 #define GL_COLOR_INDEX2_EXT 0x80E3 #define GL_COLOR_INDEX4_EXT 0x80E4 #define GL_COLOR_INDEX8_EXT 0x80E5 #define GL_COLOR_INDEX12_EXT 0x80E6 #define GL_COLOR_INDEX16_EXT 0x80E7 +#define GL_EVAL_BIT 0x00010000 +#define GL_LIST_BIT 0x00020000 +#define GL_TEXTURE_BIT 0x00040000 +#define GL_SCISSOR_BIT 0x00080000 +#define GL_ALL_ATTRIB_BITS 0x000fffff +#define GL_CLIENT_ALL_ATTRIB_BITS 0xffffffff GLAPI void GLAPIENTRY glAccum (GLenum op, GLfloat value); GLAPI void GLAPIENTRY glAlphaFunc (GLenum func, GLclampf ref); @@ -1116,11 +1159,13 @@ GLAPI void GLAPIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei heigh /* ---------------------------------- GLU ---------------------------------- */ +#ifndef GLEW_NO_GLU /* this is where we can safely include GLU */ -#if defined(__APPLE__) && defined(__MACH__) -#include -#else -#include +# if defined(__APPLE__) && defined(__MACH__) +# include +# else +# include +# endif #endif /* ----------------------------- GL_VERSION_1_2 ---------------------------- */ @@ -1184,6 +1229,15 @@ typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, #endif /* GL_VERSION_1_2 */ +/* ---------------------------- GL_VERSION_1_2_1 --------------------------- */ + +#ifndef GL_VERSION_1_2_1 +#define GL_VERSION_1_2_1 1 + +#define GLEW_VERSION_1_2_1 GLEW_GET_VAR(__GLEW_VERSION_1_2_1) + +#endif /* GL_VERSION_1_2_1 */ + /* ----------------------------- GL_VERSION_1_3 ---------------------------- */ #ifndef GL_VERSION_1_3 @@ -1437,10 +1491,12 @@ typedef void (GLAPIENTRY * PFNGLFOGCOORDDPROC) (GLdouble coord); typedef void (GLAPIENTRY * PFNGLFOGCOORDDVPROC) (const GLdouble *coord); typedef void (GLAPIENTRY * PFNGLFOGCOORDFPROC) (GLfloat coord); typedef void (GLAPIENTRY * PFNGLFOGCOORDFVPROC) (const GLfloat *coord); -typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); -typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount); typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue); @@ -1457,7 +1513,7 @@ typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVPROC) (const GLdouble *p); typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y); @@ -1487,6 +1543,8 @@ typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVPROC) (const GLshort *p); #define glMultiDrawElements GLEW_GET_FUN(__glewMultiDrawElements) #define glPointParameterf GLEW_GET_FUN(__glewPointParameterf) #define glPointParameterfv GLEW_GET_FUN(__glewPointParameterfv) +#define glPointParameteri GLEW_GET_FUN(__glewPointParameteri) +#define glPointParameteriv GLEW_GET_FUN(__glewPointParameteriv) #define glSecondaryColor3b GLEW_GET_FUN(__glewSecondaryColor3b) #define glSecondaryColor3bv GLEW_GET_FUN(__glewSecondaryColor3bv) #define glSecondaryColor3d GLEW_GET_FUN(__glewSecondaryColor3d) @@ -1581,8 +1639,8 @@ typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVPROC) (const GLshort *p); #define GL_DYNAMIC_COPY 0x88EA #define GL_SAMPLES_PASSED 0x8914 -typedef ptrdiff_t GLsizeiptr; typedef ptrdiff_t GLintptr; +typedef ptrdiff_t GLsizeiptr; typedef void (GLAPIENTRY * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id); typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); @@ -1718,8 +1776,6 @@ typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERPROC) (GLenum target); #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 #define GL_STENCIL_BACK_WRITEMASK 0x8CA5 -typedef char GLchar; - typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name); typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum, GLenum); @@ -1739,12 +1795,12 @@ typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const G typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog); typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param); typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog); -typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLint obj, GLsizei maxLength, GLsizei* length, GLchar* source); +typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLuint obj, GLsizei maxLength, GLsizei* length, GLchar* source); typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param); -typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLint programObj, const GLchar* name); +typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar* name); typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params); typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid*); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid**); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVPROC) (GLuint, GLenum, GLdouble*); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*); typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*); @@ -1922,6 +1978,12 @@ typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint si #define GL_PIXEL_UNPACK_BUFFER 0x88EC #define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED #define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A #define GL_SRGB 0x8C40 #define GL_SRGB8 0x8C41 #define GL_SRGB_ALPHA 0x8C42 @@ -1953,6 +2015,409 @@ typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei #endif /* GL_VERSION_2_1 */ +/* ----------------------------- GL_VERSION_3_0 ---------------------------- */ + +#ifndef GL_VERSION_3_0 +#define GL_VERSION_3_0 1 + +#define GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES +#define GL_CLIP_DISTANCE5 GL_CLIP_PLANE5 +#define GL_CLIP_DISTANCE1 GL_CLIP_PLANE1 +#define GL_CLIP_DISTANCE3 GL_CLIP_PLANE3 +#define GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_R_TO_TEXTURE_ARB +#define GL_CLIP_DISTANCE0 GL_CLIP_PLANE0 +#define GL_CLIP_DISTANCE4 GL_CLIP_PLANE4 +#define GL_CLIP_DISTANCE2 GL_CLIP_PLANE2 +#define GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS +#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001 +#define GL_MAJOR_VERSION 0x821B +#define GL_MINOR_VERSION 0x821C +#define GL_NUM_EXTENSIONS 0x821D +#define GL_CONTEXT_FLAGS 0x821E +#define GL_DEPTH_BUFFER 0x8223 +#define GL_STENCIL_BUFFER 0x8224 +#define GL_COMPRESSED_RED 0x8225 +#define GL_COMPRESSED_RG 0x8226 +#define GL_RGBA32F 0x8814 +#define GL_RGB32F 0x8815 +#define GL_RGBA16F 0x881A +#define GL_RGB16F 0x881B +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD +#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF +#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 +#define GL_CLAMP_VERTEX_COLOR 0x891A +#define GL_CLAMP_FRAGMENT_COLOR 0x891B +#define GL_CLAMP_READ_COLOR 0x891C +#define GL_FIXED_ONLY 0x891D +#define GL_TEXTURE_RED_TYPE 0x8C10 +#define GL_TEXTURE_GREEN_TYPE 0x8C11 +#define GL_TEXTURE_BLUE_TYPE 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE 0x8C13 +#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14 +#define GL_TEXTURE_INTENSITY_TYPE 0x8C15 +#define GL_TEXTURE_DEPTH_TYPE 0x8C16 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_TEXTURE_1D_ARRAY 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D +#define GL_R11F_G11F_B10F 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B +#define GL_RGB9_E5 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E +#define GL_TEXTURE_SHARED_SIZE 0x8C3F +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 +#define GL_PRIMITIVES_GENERATED 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 +#define GL_RASTERIZER_DISCARD 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B +#define GL_INTERLEAVED_ATTRIBS 0x8C8C +#define GL_SEPARATE_ATTRIBS 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F +#define GL_RGBA32UI 0x8D70 +#define GL_RGB32UI 0x8D71 +#define GL_RGBA16UI 0x8D76 +#define GL_RGB16UI 0x8D77 +#define GL_RGBA8UI 0x8D7C +#define GL_RGB8UI 0x8D7D +#define GL_RGBA32I 0x8D82 +#define GL_RGB32I 0x8D83 +#define GL_RGBA16I 0x8D88 +#define GL_RGB16I 0x8D89 +#define GL_RGBA8I 0x8D8E +#define GL_RGB8I 0x8D8F +#define GL_RED_INTEGER 0x8D94 +#define GL_GREEN_INTEGER 0x8D95 +#define GL_BLUE_INTEGER 0x8D96 +#define GL_ALPHA_INTEGER 0x8D97 +#define GL_RGB_INTEGER 0x8D98 +#define GL_RGBA_INTEGER 0x8D99 +#define GL_BGR_INTEGER 0x8D9A +#define GL_BGRA_INTEGER 0x8D9B +#define GL_SAMPLER_1D_ARRAY 0x8DC0 +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 +#define GL_INT_SAMPLER_1D 0x8DC9 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_QUERY_WAIT 0x8E13 +#define GL_QUERY_NO_WAIT 0x8E14 +#define GL_QUERY_BY_REGION_WAIT 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 + +typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERPROC) (GLuint, GLenum); +typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum); +typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONPROC) (GLuint, GLuint, const GLchar*); +typedef void (GLAPIENTRY * PFNGLCLAMPCOLORPROC) (GLenum, GLenum); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFIPROC) (GLenum, GLint, GLfloat, GLint); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFVPROC) (GLenum, GLint, const GLfloat*); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERIVPROC) (GLenum, GLint, const GLint*); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERUIVPROC) (GLenum, GLint, const GLuint*); +typedef void (GLAPIENTRY * PFNGLCOLORMASKIPROC) (GLuint, GLboolean, GLboolean, GLboolean, GLboolean); +typedef void (GLAPIENTRY * PFNGLDISABLEIPROC) (GLenum, GLuint); +typedef void (GLAPIENTRY * PFNGLENABLEIPROC) (GLenum, GLuint); +typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERPROC) (void); +typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETBOOLEANI_VPROC) (GLenum, GLuint, GLboolean*); +typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONPROC) (GLuint, const GLchar*); +typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGIPROC) (GLenum, GLuint); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVPROC) (GLenum, GLenum, GLint*); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVPROC) (GLenum, GLenum, GLuint*); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVPROC) (GLuint, GLint, GLuint*); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVPROC) (GLuint, GLenum, GLint*); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint, GLenum, GLuint*); +typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDIPROC) (GLenum, GLuint); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVPROC) (GLenum, GLenum, const GLint*); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVPROC) (GLenum, GLenum, const GLuint*); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint, GLsizei, const GLchar **, GLenum); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UIPROC) (GLint, GLuint); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVPROC) (GLint, GLsizei, const GLuint*); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UIPROC) (GLint, GLuint, GLuint); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVPROC) (GLint, GLsizei, const GLuint*); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UIPROC) (GLint, GLuint, GLuint, GLuint); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVPROC) (GLint, GLsizei, const GLuint*); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UIPROC) (GLint, GLuint, GLuint, GLuint, GLuint); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVPROC) (GLint, GLsizei, const GLuint*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IPROC) (GLuint, GLint); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVPROC) (GLuint, const GLint*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIPROC) (GLuint, GLuint); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVPROC) (GLuint, const GLuint*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IPROC) (GLuint, GLint, GLint); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVPROC) (GLuint, const GLint*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIPROC) (GLuint, GLuint, GLuint); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVPROC) (GLuint, const GLuint*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IPROC) (GLuint, GLint, GLint, GLint); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVPROC) (GLuint, const GLint*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIPROC) (GLuint, GLuint, GLuint, GLuint); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVPROC) (GLuint, const GLuint*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVPROC) (GLuint, const GLbyte*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IPROC) (GLuint, GLint, GLint, GLint, GLint); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVPROC) (GLuint, const GLint*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVPROC) (GLuint, const GLshort*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVPROC) (GLuint, const GLubyte*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIPROC) (GLuint, GLuint, GLuint, GLuint, GLuint); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVPROC) (GLuint, const GLuint*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVPROC) (GLuint, const GLushort*); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint, GLint, GLenum, GLsizei, const GLvoid*); + +#define glBeginConditionalRender GLEW_GET_FUN(__glewBeginConditionalRender) +#define glBeginTransformFeedback GLEW_GET_FUN(__glewBeginTransformFeedback) +#define glBindFragDataLocation GLEW_GET_FUN(__glewBindFragDataLocation) +#define glClampColor GLEW_GET_FUN(__glewClampColor) +#define glClearBufferfi GLEW_GET_FUN(__glewClearBufferfi) +#define glClearBufferfv GLEW_GET_FUN(__glewClearBufferfv) +#define glClearBufferiv GLEW_GET_FUN(__glewClearBufferiv) +#define glClearBufferuiv GLEW_GET_FUN(__glewClearBufferuiv) +#define glColorMaski GLEW_GET_FUN(__glewColorMaski) +#define glDisablei GLEW_GET_FUN(__glewDisablei) +#define glEnablei GLEW_GET_FUN(__glewEnablei) +#define glEndConditionalRender GLEW_GET_FUN(__glewEndConditionalRender) +#define glEndTransformFeedback GLEW_GET_FUN(__glewEndTransformFeedback) +#define glGetBooleani_v GLEW_GET_FUN(__glewGetBooleani_v) +#define glGetFragDataLocation GLEW_GET_FUN(__glewGetFragDataLocation) +#define glGetStringi GLEW_GET_FUN(__glewGetStringi) +#define glGetTexParameterIiv GLEW_GET_FUN(__glewGetTexParameterIiv) +#define glGetTexParameterIuiv GLEW_GET_FUN(__glewGetTexParameterIuiv) +#define glGetTransformFeedbackVarying GLEW_GET_FUN(__glewGetTransformFeedbackVarying) +#define glGetUniformuiv GLEW_GET_FUN(__glewGetUniformuiv) +#define glGetVertexAttribIiv GLEW_GET_FUN(__glewGetVertexAttribIiv) +#define glGetVertexAttribIuiv GLEW_GET_FUN(__glewGetVertexAttribIuiv) +#define glIsEnabledi GLEW_GET_FUN(__glewIsEnabledi) +#define glTexParameterIiv GLEW_GET_FUN(__glewTexParameterIiv) +#define glTexParameterIuiv GLEW_GET_FUN(__glewTexParameterIuiv) +#define glTransformFeedbackVaryings GLEW_GET_FUN(__glewTransformFeedbackVaryings) +#define glUniform1ui GLEW_GET_FUN(__glewUniform1ui) +#define glUniform1uiv GLEW_GET_FUN(__glewUniform1uiv) +#define glUniform2ui GLEW_GET_FUN(__glewUniform2ui) +#define glUniform2uiv GLEW_GET_FUN(__glewUniform2uiv) +#define glUniform3ui GLEW_GET_FUN(__glewUniform3ui) +#define glUniform3uiv GLEW_GET_FUN(__glewUniform3uiv) +#define glUniform4ui GLEW_GET_FUN(__glewUniform4ui) +#define glUniform4uiv GLEW_GET_FUN(__glewUniform4uiv) +#define glVertexAttribI1i GLEW_GET_FUN(__glewVertexAttribI1i) +#define glVertexAttribI1iv GLEW_GET_FUN(__glewVertexAttribI1iv) +#define glVertexAttribI1ui GLEW_GET_FUN(__glewVertexAttribI1ui) +#define glVertexAttribI1uiv GLEW_GET_FUN(__glewVertexAttribI1uiv) +#define glVertexAttribI2i GLEW_GET_FUN(__glewVertexAttribI2i) +#define glVertexAttribI2iv GLEW_GET_FUN(__glewVertexAttribI2iv) +#define glVertexAttribI2ui GLEW_GET_FUN(__glewVertexAttribI2ui) +#define glVertexAttribI2uiv GLEW_GET_FUN(__glewVertexAttribI2uiv) +#define glVertexAttribI3i GLEW_GET_FUN(__glewVertexAttribI3i) +#define glVertexAttribI3iv GLEW_GET_FUN(__glewVertexAttribI3iv) +#define glVertexAttribI3ui GLEW_GET_FUN(__glewVertexAttribI3ui) +#define glVertexAttribI3uiv GLEW_GET_FUN(__glewVertexAttribI3uiv) +#define glVertexAttribI4bv GLEW_GET_FUN(__glewVertexAttribI4bv) +#define glVertexAttribI4i GLEW_GET_FUN(__glewVertexAttribI4i) +#define glVertexAttribI4iv GLEW_GET_FUN(__glewVertexAttribI4iv) +#define glVertexAttribI4sv GLEW_GET_FUN(__glewVertexAttribI4sv) +#define glVertexAttribI4ubv GLEW_GET_FUN(__glewVertexAttribI4ubv) +#define glVertexAttribI4ui GLEW_GET_FUN(__glewVertexAttribI4ui) +#define glVertexAttribI4uiv GLEW_GET_FUN(__glewVertexAttribI4uiv) +#define glVertexAttribI4usv GLEW_GET_FUN(__glewVertexAttribI4usv) +#define glVertexAttribIPointer GLEW_GET_FUN(__glewVertexAttribIPointer) + +#define GLEW_VERSION_3_0 GLEW_GET_VAR(__GLEW_VERSION_3_0) + +#endif /* GL_VERSION_3_0 */ + +/* ----------------------------- GL_VERSION_3_1 ---------------------------- */ + +#ifndef GL_VERSION_3_1 +#define GL_VERSION_3_1 1 + +#define GL_TEXTURE_RECTANGLE 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 +#define GL_SAMPLER_2D_RECT 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 +#define GL_TEXTURE_BUFFER 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT 0x8C2E +#define GL_SAMPLER_BUFFER 0x8DC2 +#define GL_INT_SAMPLER_2D_RECT 0x8DCD +#define GL_INT_SAMPLER_BUFFER 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 +#define GL_RED_SNORM 0x8F90 +#define GL_RG_SNORM 0x8F91 +#define GL_RGB_SNORM 0x8F92 +#define GL_RGBA_SNORM 0x8F93 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_PRIMITIVE_RESTART 0x8F9D +#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E +#define GL_BUFFER_ACCESS_FLAGS 0x911F +#define GL_BUFFER_MAP_LENGTH 0x9120 +#define GL_BUFFER_MAP_OFFSET 0x9121 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum, GLint, GLsizei, GLsizei); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum, GLsizei, GLenum, const GLvoid*, GLsizei); +typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint); +typedef void (GLAPIENTRY * PFNGLTEXBUFFERPROC) (GLenum, GLenum, GLuint); + +#define glDrawArraysInstanced GLEW_GET_FUN(__glewDrawArraysInstanced) +#define glDrawElementsInstanced GLEW_GET_FUN(__glewDrawElementsInstanced) +#define glPrimitiveRestartIndex GLEW_GET_FUN(__glewPrimitiveRestartIndex) +#define glTexBuffer GLEW_GET_FUN(__glewTexBuffer) + +#define GLEW_VERSION_3_1 GLEW_GET_VAR(__GLEW_VERSION_3_1) + +#endif /* GL_VERSION_3_1 */ + +/* ----------------------------- GL_VERSION_3_2 ---------------------------- */ + +#ifndef GL_VERSION_3_2 +#define GL_VERSION_3_2 1 + +#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 +#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define GL_LINES_ADJACENCY 0x000A +#define GL_LINE_STRIP_ADJACENCY 0x000B +#define GL_TRIANGLES_ADJACENCY 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D +#define GL_PROGRAM_POINT_SIZE 0x8642 +#define GL_GEOMETRY_VERTICES_OUT 0x8916 +#define GL_GEOMETRY_INPUT_TYPE 0x8917 +#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 +#define GL_GEOMETRY_SHADER 0x8DD9 +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 +#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 +#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 +#define GL_CONTEXT_PROFILE_MASK 0x9126 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum, GLenum, GLuint, GLint); +typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum, GLenum, GLint64 *); +typedef void (GLAPIENTRY * PFNGLGETINTEGER64I_VPROC) (GLenum, GLuint, GLint64 *); + +#define glFramebufferTexture GLEW_GET_FUN(__glewFramebufferTexture) +#define glGetBufferParameteri64v GLEW_GET_FUN(__glewGetBufferParameteri64v) +#define glGetInteger64i_v GLEW_GET_FUN(__glewGetInteger64i_v) + +#define GLEW_VERSION_3_2 GLEW_GET_VAR(__GLEW_VERSION_3_2) + +#endif /* GL_VERSION_3_2 */ + +/* ----------------------------- GL_VERSION_3_3 ---------------------------- */ + +#ifndef GL_VERSION_3_3 +#define GL_VERSION_3_3 1 + +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE +#define GL_ANY_SAMPLES_PASSED 0x8C2F +#define GL_TEXTURE_SWIZZLE_R 0x8E42 +#define GL_TEXTURE_SWIZZLE_G 0x8E43 +#define GL_TEXTURE_SWIZZLE_B 0x8E44 +#define GL_TEXTURE_SWIZZLE_A 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 +#define GL_RGB10_A2UI 0x906F + +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor); + +#define glVertexAttribDivisor GLEW_GET_FUN(__glewVertexAttribDivisor) + +#define GLEW_VERSION_3_3 GLEW_GET_VAR(__GLEW_VERSION_3_3) + +#endif /* GL_VERSION_3_3 */ + +/* ----------------------------- GL_VERSION_4_0 ---------------------------- */ + +#ifndef GL_VERSION_4_0 +#define GL_VERSION_4_0 1 + +#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F +#define GL_SAMPLE_SHADING 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C +#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F +#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS 0x8F9F +#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGPROC) (GLclampf value); + +#define glBlendEquationSeparatei GLEW_GET_FUN(__glewBlendEquationSeparatei) +#define glBlendEquationi GLEW_GET_FUN(__glewBlendEquationi) +#define glBlendFuncSeparatei GLEW_GET_FUN(__glewBlendFuncSeparatei) +#define glBlendFunci GLEW_GET_FUN(__glewBlendFunci) +#define glMinSampleShading GLEW_GET_FUN(__glewMinSampleShading) + +#define GLEW_VERSION_4_0 GLEW_GET_VAR(__GLEW_VERSION_4_0) + +#endif /* GL_VERSION_4_0 */ + +/* ----------------------------- GL_VERSION_4_1 ---------------------------- */ + +#ifndef GL_VERSION_4_1 +#define GL_VERSION_4_1 1 + +#define GLEW_VERSION_4_1 GLEW_GET_VAR(__GLEW_VERSION_4_1) + +#endif /* GL_VERSION_4_1 */ + +/* ----------------------------- GL_VERSION_4_2 ---------------------------- */ + +#ifndef GL_VERSION_4_2 +#define GL_VERSION_4_2 1 + +#define GLEW_VERSION_4_2 GLEW_GET_VAR(__GLEW_VERSION_4_2) + +#endif /* GL_VERSION_4_2 */ + /* -------------------------- GL_3DFX_multisample -------------------------- */ #ifndef GL_3DFX_multisample @@ -1992,6 +2457,262 @@ typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask); #endif /* GL_3DFX_texture_compression_FXT1 */ +/* ----------------------- GL_AMD_blend_minmax_factor ---------------------- */ + +#ifndef GL_AMD_blend_minmax_factor +#define GL_AMD_blend_minmax_factor 1 + +#define GL_FACTOR_MIN_AMD 0x901C +#define GL_FACTOR_MAX_AMD 0x901D + +#define GLEW_AMD_blend_minmax_factor GLEW_GET_VAR(__GLEW_AMD_blend_minmax_factor) + +#endif /* GL_AMD_blend_minmax_factor */ + +/* ----------------------- GL_AMD_conservative_depth ----------------------- */ + +#ifndef GL_AMD_conservative_depth +#define GL_AMD_conservative_depth 1 + +#define GLEW_AMD_conservative_depth GLEW_GET_VAR(__GLEW_AMD_conservative_depth) + +#endif /* GL_AMD_conservative_depth */ + +/* -------------------------- GL_AMD_debug_output -------------------------- */ + +#ifndef GL_AMD_debug_output +#define GL_AMD_debug_output 1 + +#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES_AMD 0x9145 +#define GL_DEBUG_SEVERITY_HIGH_AMD 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM_AMD 0x9147 +#define GL_DEBUG_SEVERITY_LOW_AMD 0x9148 +#define GL_DEBUG_CATEGORY_API_ERROR_AMD 0x9149 +#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A +#define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B +#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914C +#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD 0x914D +#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD 0x914E +#define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F +#define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150 + +typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, GLvoid* userParam); + +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, void* userParam); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const char* buf); +typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum* categories, GLuint* severities, GLuint* ids, GLsizei* lengths, char* message); + +#define glDebugMessageCallbackAMD GLEW_GET_FUN(__glewDebugMessageCallbackAMD) +#define glDebugMessageEnableAMD GLEW_GET_FUN(__glewDebugMessageEnableAMD) +#define glDebugMessageInsertAMD GLEW_GET_FUN(__glewDebugMessageInsertAMD) +#define glGetDebugMessageLogAMD GLEW_GET_FUN(__glewGetDebugMessageLogAMD) + +#define GLEW_AMD_debug_output GLEW_GET_VAR(__GLEW_AMD_debug_output) + +#endif /* GL_AMD_debug_output */ + +/* ---------------------- GL_AMD_depth_clamp_separate ---------------------- */ + +#ifndef GL_AMD_depth_clamp_separate +#define GL_AMD_depth_clamp_separate 1 + +#define GL_DEPTH_CLAMP_NEAR_AMD 0x901E +#define GL_DEPTH_CLAMP_FAR_AMD 0x901F + +#define GLEW_AMD_depth_clamp_separate GLEW_GET_VAR(__GLEW_AMD_depth_clamp_separate) + +#endif /* GL_AMD_depth_clamp_separate */ + +/* ----------------------- GL_AMD_draw_buffers_blend ----------------------- */ + +#ifndef GL_AMD_draw_buffers_blend +#define GL_AMD_draw_buffers_blend 1 + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); + +#define glBlendEquationIndexedAMD GLEW_GET_FUN(__glewBlendEquationIndexedAMD) +#define glBlendEquationSeparateIndexedAMD GLEW_GET_FUN(__glewBlendEquationSeparateIndexedAMD) +#define glBlendFuncIndexedAMD GLEW_GET_FUN(__glewBlendFuncIndexedAMD) +#define glBlendFuncSeparateIndexedAMD GLEW_GET_FUN(__glewBlendFuncSeparateIndexedAMD) + +#define GLEW_AMD_draw_buffers_blend GLEW_GET_VAR(__GLEW_AMD_draw_buffers_blend) + +#endif /* GL_AMD_draw_buffers_blend */ + +/* ----------------------- GL_AMD_multi_draw_indirect ---------------------- */ + +#ifndef GL_AMD_multi_draw_indirect +#define GL_AMD_multi_draw_indirect 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) (GLenum mode, const void* indirect, GLsizei primcount, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) (GLenum mode, GLenum type, const void* indirect, GLsizei primcount, GLsizei stride); + +#define glMultiDrawArraysIndirectAMD GLEW_GET_FUN(__glewMultiDrawArraysIndirectAMD) +#define glMultiDrawElementsIndirectAMD GLEW_GET_FUN(__glewMultiDrawElementsIndirectAMD) + +#define GLEW_AMD_multi_draw_indirect GLEW_GET_VAR(__GLEW_AMD_multi_draw_indirect) + +#endif /* GL_AMD_multi_draw_indirect */ + +/* ------------------------- GL_AMD_name_gen_delete ------------------------ */ + +#ifndef GL_AMD_name_gen_delete +#define GL_AMD_name_gen_delete 1 + +#define GL_DATA_BUFFER_AMD 0x9151 +#define GL_PERFORMANCE_MONITOR_AMD 0x9152 +#define GL_QUERY_OBJECT_AMD 0x9153 +#define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154 +#define GL_SAMPLER_OBJECT_AMD 0x9155 + +typedef void (GLAPIENTRY * PFNGLDELETENAMESAMDPROC) (GLenum identifier, GLuint num, const GLuint* names); +typedef void (GLAPIENTRY * PFNGLGENNAMESAMDPROC) (GLenum identifier, GLuint num, GLuint* names); +typedef GLboolean (GLAPIENTRY * PFNGLISNAMEAMDPROC) (GLenum identifier, GLuint name); + +#define glDeleteNamesAMD GLEW_GET_FUN(__glewDeleteNamesAMD) +#define glGenNamesAMD GLEW_GET_FUN(__glewGenNamesAMD) +#define glIsNameAMD GLEW_GET_FUN(__glewIsNameAMD) + +#define GLEW_AMD_name_gen_delete GLEW_GET_VAR(__GLEW_AMD_name_gen_delete) + +#endif /* GL_AMD_name_gen_delete */ + +/* ----------------------- GL_AMD_performance_monitor ---------------------- */ + +#ifndef GL_AMD_performance_monitor +#define GL_AMD_performance_monitor 1 + +#define GL_UNSIGNED_INT 0x1405 +#define GL_FLOAT 0x1406 +#define GL_COUNTER_TYPE_AMD 0x8BC0 +#define GL_COUNTER_RANGE_AMD 0x8BC1 +#define GL_UNSIGNED_INT64_AMD 0x8BC2 +#define GL_PERCENTAGE_AMD 0x8BC3 +#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 +#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 +#define GL_PERFMON_RESULT_AMD 0x8BC6 + +typedef void (GLAPIENTRY * PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); +typedef void (GLAPIENTRY * PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors); +typedef void (GLAPIENTRY * PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); +typedef void (GLAPIENTRY * PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint *bytesWritten); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void* data); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, char *counterString); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint* numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei* length, char *groupString); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint* numGroups, GLsizei groupsSize, GLuint *groups); +typedef void (GLAPIENTRY * PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList); + +#define glBeginPerfMonitorAMD GLEW_GET_FUN(__glewBeginPerfMonitorAMD) +#define glDeletePerfMonitorsAMD GLEW_GET_FUN(__glewDeletePerfMonitorsAMD) +#define glEndPerfMonitorAMD GLEW_GET_FUN(__glewEndPerfMonitorAMD) +#define glGenPerfMonitorsAMD GLEW_GET_FUN(__glewGenPerfMonitorsAMD) +#define glGetPerfMonitorCounterDataAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterDataAMD) +#define glGetPerfMonitorCounterInfoAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterInfoAMD) +#define glGetPerfMonitorCounterStringAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterStringAMD) +#define glGetPerfMonitorCountersAMD GLEW_GET_FUN(__glewGetPerfMonitorCountersAMD) +#define glGetPerfMonitorGroupStringAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupStringAMD) +#define glGetPerfMonitorGroupsAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupsAMD) +#define glSelectPerfMonitorCountersAMD GLEW_GET_FUN(__glewSelectPerfMonitorCountersAMD) + +#define GLEW_AMD_performance_monitor GLEW_GET_VAR(__GLEW_AMD_performance_monitor) + +#endif /* GL_AMD_performance_monitor */ + +/* ------------------------ GL_AMD_sample_positions ------------------------ */ + +#ifndef GL_AMD_sample_positions +#define GL_AMD_sample_positions 1 + +#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F + +typedef void (GLAPIENTRY * PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat* val); + +#define glSetMultisamplefvAMD GLEW_GET_FUN(__glewSetMultisamplefvAMD) + +#define GLEW_AMD_sample_positions GLEW_GET_VAR(__GLEW_AMD_sample_positions) + +#endif /* GL_AMD_sample_positions */ + +/* ------------------ GL_AMD_seamless_cubemap_per_texture ------------------ */ + +#ifndef GL_AMD_seamless_cubemap_per_texture +#define GL_AMD_seamless_cubemap_per_texture 1 + +#define GL_TEXTURE_CUBE_MAP_SEAMLESS_ARB 0x884F + +#define GLEW_AMD_seamless_cubemap_per_texture GLEW_GET_VAR(__GLEW_AMD_seamless_cubemap_per_texture) + +#endif /* GL_AMD_seamless_cubemap_per_texture */ + +/* ---------------------- GL_AMD_shader_stencil_export --------------------- */ + +#ifndef GL_AMD_shader_stencil_export +#define GL_AMD_shader_stencil_export 1 + +#define GLEW_AMD_shader_stencil_export GLEW_GET_VAR(__GLEW_AMD_shader_stencil_export) + +#endif /* GL_AMD_shader_stencil_export */ + +/* ------------------------ GL_AMD_texture_texture4 ------------------------ */ + +#ifndef GL_AMD_texture_texture4 +#define GL_AMD_texture_texture4 1 + +#define GLEW_AMD_texture_texture4 GLEW_GET_VAR(__GLEW_AMD_texture_texture4) + +#endif /* GL_AMD_texture_texture4 */ + +/* --------------- GL_AMD_transform_feedback3_lines_triangles -------------- */ + +#ifndef GL_AMD_transform_feedback3_lines_triangles +#define GL_AMD_transform_feedback3_lines_triangles 1 + +#define GLEW_AMD_transform_feedback3_lines_triangles GLEW_GET_VAR(__GLEW_AMD_transform_feedback3_lines_triangles) + +#endif /* GL_AMD_transform_feedback3_lines_triangles */ + +/* -------------------- GL_AMD_vertex_shader_tessellator ------------------- */ + +#ifndef GL_AMD_vertex_shader_tessellator +#define GL_AMD_vertex_shader_tessellator 1 + +#define GL_SAMPLER_BUFFER_AMD 0x9001 +#define GL_INT_SAMPLER_BUFFER_AMD 0x9002 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003 +#define GL_TESSELLATION_MODE_AMD 0x9004 +#define GL_TESSELLATION_FACTOR_AMD 0x9005 +#define GL_DISCRETE_AMD 0x9006 +#define GL_CONTINUOUS_AMD 0x9007 + +typedef void (GLAPIENTRY * PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor); +typedef void (GLAPIENTRY * PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode); + +#define glTessellationFactorAMD GLEW_GET_FUN(__glewTessellationFactorAMD) +#define glTessellationModeAMD GLEW_GET_FUN(__glewTessellationModeAMD) + +#define GLEW_AMD_vertex_shader_tessellator GLEW_GET_VAR(__GLEW_AMD_vertex_shader_tessellator) + +#endif /* GL_AMD_vertex_shader_tessellator */ + +/* ----------------------- GL_APPLE_aux_depth_stencil ---------------------- */ + +#ifndef GL_APPLE_aux_depth_stencil +#define GL_APPLE_aux_depth_stencil 1 + +#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14 + +#define GLEW_APPLE_aux_depth_stencil GLEW_GET_VAR(__GLEW_APPLE_aux_depth_stencil) + +#endif /* GL_APPLE_aux_depth_stencil */ + /* ------------------------ GL_APPLE_client_storage ------------------------ */ #ifndef GL_APPLE_client_storage @@ -2008,9 +2729,9 @@ typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask); #ifndef GL_APPLE_element_array #define GL_APPLE_element_array 1 -#define GL_ELEMENT_ARRAY_APPLE 0x8768 -#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8769 -#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x876A +#define GL_ELEMENT_ARRAY_APPLE 0x8A0C +#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D +#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count); typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count); @@ -2082,6 +2803,48 @@ typedef GLboolean (GLAPIENTRY * PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint #endif /* GL_APPLE_float_pixels */ +/* ---------------------- GL_APPLE_flush_buffer_range ---------------------- */ + +#ifndef GL_APPLE_flush_buffer_range +#define GL_APPLE_flush_buffer_range 1 + +#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12 +#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13 + +typedef void (GLAPIENTRY * PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size); + +#define glBufferParameteriAPPLE GLEW_GET_FUN(__glewBufferParameteriAPPLE) +#define glFlushMappedBufferRangeAPPLE GLEW_GET_FUN(__glewFlushMappedBufferRangeAPPLE) + +#define GLEW_APPLE_flush_buffer_range GLEW_GET_VAR(__GLEW_APPLE_flush_buffer_range) + +#endif /* GL_APPLE_flush_buffer_range */ + +/* ----------------------- GL_APPLE_object_purgeable ----------------------- */ + +#ifndef GL_APPLE_object_purgeable +#define GL_APPLE_object_purgeable 1 + +#define GL_BUFFER_OBJECT_APPLE 0x85B3 +#define GL_RELEASED_APPLE 0x8A19 +#define GL_VOLATILE_APPLE 0x8A1A +#define GL_RETAINED_APPLE 0x8A1B +#define GL_UNDEFINED_APPLE 0x8A1C +#define GL_PURGEABLE_APPLE 0x8A1D + +typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint* params); +typedef GLenum (GLAPIENTRY * PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); +typedef GLenum (GLAPIENTRY * PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); + +#define glGetObjectParameterivAPPLE GLEW_GET_FUN(__glewGetObjectParameterivAPPLE) +#define glObjectPurgeableAPPLE GLEW_GET_FUN(__glewObjectPurgeableAPPLE) +#define glObjectUnpurgeableAPPLE GLEW_GET_FUN(__glewObjectUnpurgeableAPPLE) + +#define GLEW_APPLE_object_purgeable GLEW_GET_VAR(__GLEW_APPLE_object_purgeable) + +#endif /* GL_APPLE_object_purgeable */ + /* ------------------------- GL_APPLE_pixel_buffer ------------------------- */ #ifndef GL_APPLE_pixel_buffer @@ -2093,6 +2856,31 @@ typedef GLboolean (GLAPIENTRY * PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint #endif /* GL_APPLE_pixel_buffer */ +/* ---------------------------- GL_APPLE_rgb_422 --------------------------- */ + +#ifndef GL_APPLE_rgb_422 +#define GL_APPLE_rgb_422 1 + +#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB +#define GL_RGB_422_APPLE 0x8A1F + +#define GLEW_APPLE_rgb_422 GLEW_GET_VAR(__GLEW_APPLE_rgb_422) + +#endif /* GL_APPLE_rgb_422 */ + +/* --------------------------- GL_APPLE_row_bytes -------------------------- */ + +#ifndef GL_APPLE_row_bytes +#define GL_APPLE_row_bytes 1 + +#define GL_PACK_ROW_BYTES_APPLE 0x8A15 +#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16 + +#define GLEW_APPLE_row_bytes GLEW_GET_VAR(__GLEW_APPLE_row_bytes) + +#endif /* GL_APPLE_row_bytes */ + /* ------------------------ GL_APPLE_specular_vector ----------------------- */ #ifndef GL_APPLE_specular_vector @@ -2168,6 +2956,7 @@ typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array); #define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F #define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520 #define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521 +#define GL_STORAGE_CLIENT_APPLE 0x85B4 #define GL_STORAGE_CACHED_APPLE 0x85BE #define GL_STORAGE_SHARED_APPLE 0x85BF @@ -2183,6 +2972,42 @@ typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void #endif /* GL_APPLE_vertex_array_range */ +/* ------------------- GL_APPLE_vertex_program_evaluators ------------------ */ + +#ifndef GL_APPLE_vertex_program_evaluators +#define GL_APPLE_vertex_program_evaluators 1 + +#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00 +#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01 +#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02 +#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03 +#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04 +#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05 +#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06 +#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07 +#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08 +#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09 + +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); +typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble* points); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat* points); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble* points); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat* points); + +#define glDisableVertexAttribAPPLE GLEW_GET_FUN(__glewDisableVertexAttribAPPLE) +#define glEnableVertexAttribAPPLE GLEW_GET_FUN(__glewEnableVertexAttribAPPLE) +#define glIsVertexAttribEnabledAPPLE GLEW_GET_FUN(__glewIsVertexAttribEnabledAPPLE) +#define glMapVertexAttrib1dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1dAPPLE) +#define glMapVertexAttrib1fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1fAPPLE) +#define glMapVertexAttrib2dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2dAPPLE) +#define glMapVertexAttrib2fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2fAPPLE) + +#define GLEW_APPLE_vertex_program_evaluators GLEW_GET_VAR(__GLEW_APPLE_vertex_program_evaluators) + +#endif /* GL_APPLE_vertex_program_evaluators */ + /* --------------------------- GL_APPLE_ycbcr_422 -------------------------- */ #ifndef GL_APPLE_ycbcr_422 @@ -2196,6 +3021,99 @@ typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void #endif /* GL_APPLE_ycbcr_422 */ +/* ------------------------ GL_ARB_ES2_compatibility ----------------------- */ + +#ifndef GL_ARB_ES2_compatibility +#define GL_ARB_ES2_compatibility 1 + +#define GL_FIXED 0x140C +#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B +#define GL_LOW_FLOAT 0x8DF0 +#define GL_MEDIUM_FLOAT 0x8DF1 +#define GL_HIGH_FLOAT 0x8DF2 +#define GL_LOW_INT 0x8DF3 +#define GL_MEDIUM_INT 0x8DF4 +#define GL_HIGH_INT 0x8DF5 +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 +#define GL_SHADER_COMPILER 0x8DFA +#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB +#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD + +typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFPROC) (GLclampf d); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFPROC) (GLclampf n, GLclampf f); +typedef void (GLAPIENTRY * PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint* range, GLint *precision); +typedef void (GLAPIENTRY * PFNGLRELEASESHADERCOMPILERPROC) (void); +typedef void (GLAPIENTRY * PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint* shaders, GLenum binaryformat, const GLvoid*binary, GLsizei length); + +#define glClearDepthf GLEW_GET_FUN(__glewClearDepthf) +#define glDepthRangef GLEW_GET_FUN(__glewDepthRangef) +#define glGetShaderPrecisionFormat GLEW_GET_FUN(__glewGetShaderPrecisionFormat) +#define glReleaseShaderCompiler GLEW_GET_FUN(__glewReleaseShaderCompiler) +#define glShaderBinary GLEW_GET_FUN(__glewShaderBinary) + +#define GLEW_ARB_ES2_compatibility GLEW_GET_VAR(__GLEW_ARB_ES2_compatibility) + +#endif /* GL_ARB_ES2_compatibility */ + +/* -------------------------- GL_ARB_base_instance ------------------------- */ + +#ifndef GL_ARB_base_instance +#define GL_ARB_base_instance 1 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount, GLuint baseinstance); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount, GLint basevertex, GLuint baseinstance); + +#define glDrawArraysInstancedBaseInstance GLEW_GET_FUN(__glewDrawArraysInstancedBaseInstance) +#define glDrawElementsInstancedBaseInstance GLEW_GET_FUN(__glewDrawElementsInstancedBaseInstance) +#define glDrawElementsInstancedBaseVertexBaseInstance GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertexBaseInstance) + +#define GLEW_ARB_base_instance GLEW_GET_VAR(__GLEW_ARB_base_instance) + +#endif /* GL_ARB_base_instance */ + +/* ----------------------- GL_ARB_blend_func_extended ---------------------- */ + +#ifndef GL_ARB_blend_func_extended +#define GL_ARB_blend_func_extended 1 + +#define GL_SRC1_COLOR 0x88F9 +#define GL_ONE_MINUS_SRC1_COLOR 0x88FA +#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB +#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC + +typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const char * name); +typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const char * name); + +#define glBindFragDataLocationIndexed GLEW_GET_FUN(__glewBindFragDataLocationIndexed) +#define glGetFragDataIndex GLEW_GET_FUN(__glewGetFragDataIndex) + +#define GLEW_ARB_blend_func_extended GLEW_GET_VAR(__GLEW_ARB_blend_func_extended) + +#endif /* GL_ARB_blend_func_extended */ + +/* ---------------------------- GL_ARB_cl_event ---------------------------- */ + +#ifndef GL_ARB_cl_event +#define GL_ARB_cl_event 1 + +#define GL_SYNC_CL_EVENT_ARB 0x8240 +#define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241 + +typedef struct _cl_context *cl_context; +typedef struct _cl_event *cl_event; + +typedef GLsync (GLAPIENTRY * PFNGLCREATESYNCFROMCLEVENTARBPROC) (cl_context context, cl_event event, GLbitfield flags); + +#define glCreateSyncFromCLeventARB GLEW_GET_FUN(__glewCreateSyncFromCLeventARB) + +#define GLEW_ARB_cl_event GLEW_GET_VAR(__GLEW_ARB_cl_event) + +#endif /* GL_ARB_cl_event */ + /* ----------------------- GL_ARB_color_buffer_float ----------------------- */ #ifndef GL_ARB_color_buffer_float @@ -2215,6 +3133,126 @@ typedef void (GLAPIENTRY * PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp) #endif /* GL_ARB_color_buffer_float */ +/* -------------------------- GL_ARB_compatibility ------------------------- */ + +#ifndef GL_ARB_compatibility +#define GL_ARB_compatibility 1 + +#define GLEW_ARB_compatibility GLEW_GET_VAR(__GLEW_ARB_compatibility) + +#endif /* GL_ARB_compatibility */ + +/* ---------------- GL_ARB_compressed_texture_pixel_storage ---------------- */ + +#ifndef GL_ARB_compressed_texture_pixel_storage +#define GL_ARB_compressed_texture_pixel_storage 1 + +#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 +#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 +#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 +#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A +#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B +#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C +#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D +#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E + +#define GLEW_ARB_compressed_texture_pixel_storage GLEW_GET_VAR(__GLEW_ARB_compressed_texture_pixel_storage) + +#endif /* GL_ARB_compressed_texture_pixel_storage */ + +/* ----------------------- GL_ARB_conservative_depth ----------------------- */ + +#ifndef GL_ARB_conservative_depth +#define GL_ARB_conservative_depth 1 + +#define GLEW_ARB_conservative_depth GLEW_GET_VAR(__GLEW_ARB_conservative_depth) + +#endif /* GL_ARB_conservative_depth */ + +/* --------------------------- GL_ARB_copy_buffer -------------------------- */ + +#ifndef GL_ARB_copy_buffer +#define GL_ARB_copy_buffer 1 + +#define GL_COPY_READ_BUFFER 0x8F36 +#define GL_COPY_WRITE_BUFFER 0x8F37 + +typedef void (GLAPIENTRY * PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size); + +#define glCopyBufferSubData GLEW_GET_FUN(__glewCopyBufferSubData) + +#define GLEW_ARB_copy_buffer GLEW_GET_VAR(__GLEW_ARB_copy_buffer) + +#endif /* GL_ARB_copy_buffer */ + +/* -------------------------- GL_ARB_debug_output -------------------------- */ + +#ifndef GL_ARB_debug_output +#define GL_ARB_debug_output 1 + +#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245 +#define GL_DEBUG_SOURCE_API_ARB 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A +#define GL_DEBUG_SOURCE_OTHER_ARB 0x824B +#define GL_DEBUG_TYPE_ERROR_ARB 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E +#define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250 +#define GL_DEBUG_TYPE_OTHER_ARB 0x8251 +#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145 +#define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147 +#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148 + +typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, GLvoid* userParam); + +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, void* userParam); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const char* buf); +typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, char* messageLog); + +#define glDebugMessageCallbackARB GLEW_GET_FUN(__glewDebugMessageCallbackARB) +#define glDebugMessageControlARB GLEW_GET_FUN(__glewDebugMessageControlARB) +#define glDebugMessageInsertARB GLEW_GET_FUN(__glewDebugMessageInsertARB) +#define glGetDebugMessageLogARB GLEW_GET_FUN(__glewGetDebugMessageLogARB) + +#define GLEW_ARB_debug_output GLEW_GET_VAR(__GLEW_ARB_debug_output) + +#endif /* GL_ARB_debug_output */ + +/* ----------------------- GL_ARB_depth_buffer_float ----------------------- */ + +#ifndef GL_ARB_depth_buffer_float +#define GL_ARB_depth_buffer_float 1 + +#define GL_DEPTH_COMPONENT32F 0x8CAC +#define GL_DEPTH32F_STENCIL8 0x8CAD +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD + +#define GLEW_ARB_depth_buffer_float GLEW_GET_VAR(__GLEW_ARB_depth_buffer_float) + +#endif /* GL_ARB_depth_buffer_float */ + +/* --------------------------- GL_ARB_depth_clamp -------------------------- */ + +#ifndef GL_ARB_depth_clamp +#define GL_ARB_depth_clamp 1 + +#define GL_DEPTH_CLAMP 0x864F + +#define GLEW_ARB_depth_clamp GLEW_GET_VAR(__GLEW_ARB_depth_clamp) + +#endif /* GL_ARB_depth_clamp */ + /* -------------------------- GL_ARB_depth_texture ------------------------- */ #ifndef GL_ARB_depth_texture @@ -2261,6 +3299,89 @@ typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum* bu #endif /* GL_ARB_draw_buffers */ +/* ----------------------- GL_ARB_draw_buffers_blend ----------------------- */ + +#ifndef GL_ARB_draw_buffers_blend +#define GL_ARB_draw_buffers_blend 1 + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst); + +#define glBlendEquationSeparateiARB GLEW_GET_FUN(__glewBlendEquationSeparateiARB) +#define glBlendEquationiARB GLEW_GET_FUN(__glewBlendEquationiARB) +#define glBlendFuncSeparateiARB GLEW_GET_FUN(__glewBlendFuncSeparateiARB) +#define glBlendFunciARB GLEW_GET_FUN(__glewBlendFunciARB) + +#define GLEW_ARB_draw_buffers_blend GLEW_GET_VAR(__GLEW_ARB_draw_buffers_blend) + +#endif /* GL_ARB_draw_buffers_blend */ + +/* -------------------- GL_ARB_draw_elements_base_vertex ------------------- */ + +#ifndef GL_ARB_draw_elements_base_vertex +#define GL_ARB_draw_elements_base_vertex 1 + +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, void* indices, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, void* indices, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei* count, GLenum type, GLvoid**indices, GLsizei primcount, GLint *basevertex); + +#define glDrawElementsBaseVertex GLEW_GET_FUN(__glewDrawElementsBaseVertex) +#define glDrawElementsInstancedBaseVertex GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertex) +#define glDrawRangeElementsBaseVertex GLEW_GET_FUN(__glewDrawRangeElementsBaseVertex) +#define glMultiDrawElementsBaseVertex GLEW_GET_FUN(__glewMultiDrawElementsBaseVertex) + +#define GLEW_ARB_draw_elements_base_vertex GLEW_GET_VAR(__GLEW_ARB_draw_elements_base_vertex) + +#endif /* GL_ARB_draw_elements_base_vertex */ + +/* -------------------------- GL_ARB_draw_indirect ------------------------- */ + +#ifndef GL_ARB_draw_indirect +#define GL_ARB_draw_indirect 1 + +#define GL_DRAW_INDIRECT_BUFFER 0x8F3F +#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const void* indirect); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void* indirect); + +#define glDrawArraysIndirect GLEW_GET_FUN(__glewDrawArraysIndirect) +#define glDrawElementsIndirect GLEW_GET_FUN(__glewDrawElementsIndirect) + +#define GLEW_ARB_draw_indirect GLEW_GET_VAR(__GLEW_ARB_draw_indirect) + +#endif /* GL_ARB_draw_indirect */ + +/* ------------------------- GL_ARB_draw_instanced ------------------------- */ + +#ifndef GL_ARB_draw_instanced +#define GL_ARB_draw_instanced 1 + +#define GLEW_ARB_draw_instanced GLEW_GET_VAR(__GLEW_ARB_draw_instanced) + +#endif /* GL_ARB_draw_instanced */ + +/* -------------------- GL_ARB_explicit_attrib_location -------------------- */ + +#ifndef GL_ARB_explicit_attrib_location +#define GL_ARB_explicit_attrib_location 1 + +#define GLEW_ARB_explicit_attrib_location GLEW_GET_VAR(__GLEW_ARB_explicit_attrib_location) + +#endif /* GL_ARB_explicit_attrib_location */ + +/* ------------------- GL_ARB_fragment_coord_conventions ------------------- */ + +#ifndef GL_ARB_fragment_coord_conventions +#define GL_ARB_fragment_coord_conventions 1 + +#define GLEW_ARB_fragment_coord_conventions GLEW_GET_VAR(__GLEW_ARB_fragment_coord_conventions) + +#endif /* GL_ARB_fragment_coord_conventions */ + /* ------------------------ GL_ARB_fragment_program ------------------------ */ #ifndef GL_ARB_fragment_program @@ -2308,6 +3429,314 @@ typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum* bu #endif /* GL_ARB_fragment_shader */ +/* ----------------------- GL_ARB_framebuffer_object ----------------------- */ + +#ifndef GL_ARB_framebuffer_object +#define GL_ARB_framebuffer_object 1 + +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 +#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 +#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 +#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 +#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 +#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 +#define GL_FRAMEBUFFER_DEFAULT 0x8218 +#define GL_FRAMEBUFFER_UNDEFINED 0x8219 +#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A +#define GL_INDEX 0x8222 +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 +#define GL_DEPTH_STENCIL 0x84F9 +#define GL_UNSIGNED_INT_24_8 0x84FA +#define GL_DEPTH24_STENCIL8 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE 0x88F1 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_SRGB 0x8C40 +#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA +#define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_COLOR_ATTACHMENT1 0x8CE1 +#define GL_COLOR_ATTACHMENT2 0x8CE2 +#define GL_COLOR_ATTACHMENT3 0x8CE3 +#define GL_COLOR_ATTACHMENT4 0x8CE4 +#define GL_COLOR_ATTACHMENT5 0x8CE5 +#define GL_COLOR_ATTACHMENT6 0x8CE6 +#define GL_COLOR_ATTACHMENT7 0x8CE7 +#define GL_COLOR_ATTACHMENT8 0x8CE8 +#define GL_COLOR_ATTACHMENT9 0x8CE9 +#define GL_COLOR_ATTACHMENT10 0x8CEA +#define GL_COLOR_ATTACHMENT11 0x8CEB +#define GL_COLOR_ATTACHMENT12 0x8CEC +#define GL_COLOR_ATTACHMENT13 0x8CED +#define GL_COLOR_ATTACHMENT14 0x8CEE +#define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_STENCIL_ATTACHMENT 0x8D20 +#define GL_FRAMEBUFFER 0x8D40 +#define GL_RENDERBUFFER 0x8D41 +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_STENCIL_INDEX1 0x8D46 +#define GL_STENCIL_INDEX4 0x8D47 +#define GL_STENCIL_INDEX8 0x8D48 +#define GL_STENCIL_INDEX16 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_MAX_SAMPLES 0x8D57 + +typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer); +typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target,GLenum attachment, GLuint texture,GLint level,GLint layer); +typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer); +typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); + +#define glBindFramebuffer GLEW_GET_FUN(__glewBindFramebuffer) +#define glBindRenderbuffer GLEW_GET_FUN(__glewBindRenderbuffer) +#define glBlitFramebuffer GLEW_GET_FUN(__glewBlitFramebuffer) +#define glCheckFramebufferStatus GLEW_GET_FUN(__glewCheckFramebufferStatus) +#define glDeleteFramebuffers GLEW_GET_FUN(__glewDeleteFramebuffers) +#define glDeleteRenderbuffers GLEW_GET_FUN(__glewDeleteRenderbuffers) +#define glFramebufferRenderbuffer GLEW_GET_FUN(__glewFramebufferRenderbuffer) +#define glFramebufferTexture1D GLEW_GET_FUN(__glewFramebufferTexture1D) +#define glFramebufferTexture2D GLEW_GET_FUN(__glewFramebufferTexture2D) +#define glFramebufferTexture3D GLEW_GET_FUN(__glewFramebufferTexture3D) +#define glFramebufferTextureLayer GLEW_GET_FUN(__glewFramebufferTextureLayer) +#define glGenFramebuffers GLEW_GET_FUN(__glewGenFramebuffers) +#define glGenRenderbuffers GLEW_GET_FUN(__glewGenRenderbuffers) +#define glGenerateMipmap GLEW_GET_FUN(__glewGenerateMipmap) +#define glGetFramebufferAttachmentParameteriv GLEW_GET_FUN(__glewGetFramebufferAttachmentParameteriv) +#define glGetRenderbufferParameteriv GLEW_GET_FUN(__glewGetRenderbufferParameteriv) +#define glIsFramebuffer GLEW_GET_FUN(__glewIsFramebuffer) +#define glIsRenderbuffer GLEW_GET_FUN(__glewIsRenderbuffer) +#define glRenderbufferStorage GLEW_GET_FUN(__glewRenderbufferStorage) +#define glRenderbufferStorageMultisample GLEW_GET_FUN(__glewRenderbufferStorageMultisample) + +#define GLEW_ARB_framebuffer_object GLEW_GET_VAR(__GLEW_ARB_framebuffer_object) + +#endif /* GL_ARB_framebuffer_object */ + +/* ------------------------ GL_ARB_framebuffer_sRGB ------------------------ */ + +#ifndef GL_ARB_framebuffer_sRGB +#define GL_ARB_framebuffer_sRGB 1 + +#define GL_FRAMEBUFFER_SRGB 0x8DB9 + +#define GLEW_ARB_framebuffer_sRGB GLEW_GET_VAR(__GLEW_ARB_framebuffer_sRGB) + +#endif /* GL_ARB_framebuffer_sRGB */ + +/* ------------------------ GL_ARB_geometry_shader4 ------------------------ */ + +#ifndef GL_ARB_geometry_shader4 +#define GL_ARB_geometry_shader4 1 + +#define GL_LINES_ADJACENCY_ARB 0xA +#define GL_LINE_STRIP_ADJACENCY_ARB 0xB +#define GL_TRIANGLES_ADJACENCY_ARB 0xC +#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0xD +#define GL_PROGRAM_POINT_SIZE_ARB 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9 +#define GL_GEOMETRY_SHADER_ARB 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA +#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB +#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD +#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value); + +#define glFramebufferTextureARB GLEW_GET_FUN(__glewFramebufferTextureARB) +#define glFramebufferTextureFaceARB GLEW_GET_FUN(__glewFramebufferTextureFaceARB) +#define glFramebufferTextureLayerARB GLEW_GET_FUN(__glewFramebufferTextureLayerARB) +#define glProgramParameteriARB GLEW_GET_FUN(__glewProgramParameteriARB) + +#define GLEW_ARB_geometry_shader4 GLEW_GET_VAR(__GLEW_ARB_geometry_shader4) + +#endif /* GL_ARB_geometry_shader4 */ + +/* ----------------------- GL_ARB_get_program_binary ----------------------- */ + +#ifndef GL_ARB_get_program_binary +#define GL_ARB_get_program_binary 1 + +#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 +#define GL_PROGRAM_BINARY_LENGTH 0x8741 +#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE +#define GL_PROGRAM_BINARY_FORMATS 0x87FF + +typedef void (GLAPIENTRY * PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLenum *binaryFormat, GLvoid*binary); +typedef void (GLAPIENTRY * PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void* binary, GLsizei length); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value); + +#define glGetProgramBinary GLEW_GET_FUN(__glewGetProgramBinary) +#define glProgramBinary GLEW_GET_FUN(__glewProgramBinary) +#define glProgramParameteri GLEW_GET_FUN(__glewProgramParameteri) + +#define GLEW_ARB_get_program_binary GLEW_GET_VAR(__GLEW_ARB_get_program_binary) + +#endif /* GL_ARB_get_program_binary */ + +/* --------------------------- GL_ARB_gpu_shader5 -------------------------- */ + +#ifndef GL_ARB_gpu_shader5 +#define GL_ARB_gpu_shader5 1 + +#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C +#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D +#define GL_MAX_VERTEX_STREAMS 0x8E71 + +#define GLEW_ARB_gpu_shader5 GLEW_GET_VAR(__GLEW_ARB_gpu_shader5) + +#endif /* GL_ARB_gpu_shader5 */ + +/* ------------------------- GL_ARB_gpu_shader_fp64 ------------------------ */ + +#ifndef GL_ARB_gpu_shader_fp64 +#define GL_ARB_gpu_shader_fp64 1 + +#define GL_DOUBLE_MAT2 0x8F46 +#define GL_DOUBLE_MAT3 0x8F47 +#define GL_DOUBLE_MAT4 0x8F48 +#define GL_DOUBLE_MAT2x3 0x8F49 +#define GL_DOUBLE_MAT2x4 0x8F4A +#define GL_DOUBLE_MAT3x2 0x8F4B +#define GL_DOUBLE_MAT3x4 0x8F4C +#define GL_DOUBLE_MAT4x2 0x8F4D +#define GL_DOUBLE_MAT4x3 0x8F4E +#define GL_DOUBLE_VEC2 0x8FFC +#define GL_DOUBLE_VEC3 0x8FFD +#define GL_DOUBLE_VEC4 0x8FFE + +typedef void (GLAPIENTRY * PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1DPROC) (GLint location, GLdouble x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); + +#define glGetUniformdv GLEW_GET_FUN(__glewGetUniformdv) +#define glProgramUniform1dEXT GLEW_GET_FUN(__glewProgramUniform1dEXT) +#define glProgramUniform1dvEXT GLEW_GET_FUN(__glewProgramUniform1dvEXT) +#define glProgramUniform2dEXT GLEW_GET_FUN(__glewProgramUniform2dEXT) +#define glProgramUniform2dvEXT GLEW_GET_FUN(__glewProgramUniform2dvEXT) +#define glProgramUniform3dEXT GLEW_GET_FUN(__glewProgramUniform3dEXT) +#define glProgramUniform3dvEXT GLEW_GET_FUN(__glewProgramUniform3dvEXT) +#define glProgramUniform4dEXT GLEW_GET_FUN(__glewProgramUniform4dEXT) +#define glProgramUniform4dvEXT GLEW_GET_FUN(__glewProgramUniform4dvEXT) +#define glProgramUniformMatrix2dvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2dvEXT) +#define glProgramUniformMatrix2x3dvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x3dvEXT) +#define glProgramUniformMatrix2x4dvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x4dvEXT) +#define glProgramUniformMatrix3dvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3dvEXT) +#define glProgramUniformMatrix3x2dvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x2dvEXT) +#define glProgramUniformMatrix3x4dvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x4dvEXT) +#define glProgramUniformMatrix4dvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4dvEXT) +#define glProgramUniformMatrix4x2dvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x2dvEXT) +#define glProgramUniformMatrix4x3dvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x3dvEXT) +#define glUniform1d GLEW_GET_FUN(__glewUniform1d) +#define glUniform1dv GLEW_GET_FUN(__glewUniform1dv) +#define glUniform2d GLEW_GET_FUN(__glewUniform2d) +#define glUniform2dv GLEW_GET_FUN(__glewUniform2dv) +#define glUniform3d GLEW_GET_FUN(__glewUniform3d) +#define glUniform3dv GLEW_GET_FUN(__glewUniform3dv) +#define glUniform4d GLEW_GET_FUN(__glewUniform4d) +#define glUniform4dv GLEW_GET_FUN(__glewUniform4dv) +#define glUniformMatrix2dv GLEW_GET_FUN(__glewUniformMatrix2dv) +#define glUniformMatrix2x3dv GLEW_GET_FUN(__glewUniformMatrix2x3dv) +#define glUniformMatrix2x4dv GLEW_GET_FUN(__glewUniformMatrix2x4dv) +#define glUniformMatrix3dv GLEW_GET_FUN(__glewUniformMatrix3dv) +#define glUniformMatrix3x2dv GLEW_GET_FUN(__glewUniformMatrix3x2dv) +#define glUniformMatrix3x4dv GLEW_GET_FUN(__glewUniformMatrix3x4dv) +#define glUniformMatrix4dv GLEW_GET_FUN(__glewUniformMatrix4dv) +#define glUniformMatrix4x2dv GLEW_GET_FUN(__glewUniformMatrix4x2dv) +#define glUniformMatrix4x3dv GLEW_GET_FUN(__glewUniformMatrix4x3dv) + +#define GLEW_ARB_gpu_shader_fp64 GLEW_GET_VAR(__GLEW_ARB_gpu_shader_fp64) + +#endif /* GL_ARB_gpu_shader_fp64 */ + /* ------------------------ GL_ARB_half_float_pixel ------------------------ */ #ifndef GL_ARB_half_float_pixel @@ -2319,6 +3748,17 @@ typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum* bu #endif /* GL_ARB_half_float_pixel */ +/* ------------------------ GL_ARB_half_float_vertex ----------------------- */ + +#ifndef GL_ARB_half_float_vertex +#define GL_ARB_half_float_vertex 1 + +#define GL_HALF_FLOAT 0x140B + +#define GLEW_ARB_half_float_vertex GLEW_GET_VAR(__GLEW_ARB_half_float_vertex) + +#endif /* GL_ARB_half_float_vertex */ + /* ----------------------------- GL_ARB_imaging ---------------------------- */ #ifndef GL_ARB_imaging @@ -2472,6 +3912,73 @@ typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum in #endif /* GL_ARB_imaging */ +/* ------------------------ GL_ARB_instanced_arrays ------------------------ */ + +#ifndef GL_ARB_instanced_arrays +#define GL_ARB_instanced_arrays 1 + +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor); + +#define glDrawArraysInstancedARB GLEW_GET_FUN(__glewDrawArraysInstancedARB) +#define glDrawElementsInstancedARB GLEW_GET_FUN(__glewDrawElementsInstancedARB) +#define glVertexAttribDivisorARB GLEW_GET_FUN(__glewVertexAttribDivisorARB) + +#define GLEW_ARB_instanced_arrays GLEW_GET_VAR(__GLEW_ARB_instanced_arrays) + +#endif /* GL_ARB_instanced_arrays */ + +/* ---------------------- GL_ARB_internalformat_query ---------------------- */ + +#ifndef GL_ARB_internalformat_query +#define GL_ARB_internalformat_query 1 + +#define GL_NUM_SAMPLE_COUNTS 0x9380 + +typedef void (GLAPIENTRY * PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params); + +#define glGetInternalformativ GLEW_GET_FUN(__glewGetInternalformativ) + +#define GLEW_ARB_internalformat_query GLEW_GET_VAR(__GLEW_ARB_internalformat_query) + +#endif /* GL_ARB_internalformat_query */ + +/* ---------------------- GL_ARB_map_buffer_alignment ---------------------- */ + +#ifndef GL_ARB_map_buffer_alignment +#define GL_ARB_map_buffer_alignment 1 + +#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC + +#define GLEW_ARB_map_buffer_alignment GLEW_GET_VAR(__GLEW_ARB_map_buffer_alignment) + +#endif /* GL_ARB_map_buffer_alignment */ + +/* ------------------------ GL_ARB_map_buffer_range ------------------------ */ + +#ifndef GL_ARB_map_buffer_range +#define GL_ARB_map_buffer_range 1 + +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 + +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length); +typedef GLvoid * (GLAPIENTRY * PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); + +#define glFlushMappedBufferRange GLEW_GET_FUN(__glewFlushMappedBufferRange) +#define glMapBufferRange GLEW_GET_FUN(__glewMapBufferRange) + +#define GLEW_ARB_map_buffer_range GLEW_GET_VAR(__GLEW_ARB_map_buffer_range) + +#endif /* GL_ARB_map_buffer_range */ + /* ------------------------- GL_ARB_matrix_palette ------------------------- */ #ifndef GL_ARB_matrix_palette @@ -2675,6 +4182,17 @@ typedef GLboolean (GLAPIENTRY * PFNGLISQUERYARBPROC) (GLuint id); #endif /* GL_ARB_occlusion_query */ +/* ------------------------ GL_ARB_occlusion_query2 ------------------------ */ + +#ifndef GL_ARB_occlusion_query2 +#define GL_ARB_occlusion_query2 1 + +#define GL_ANY_SAMPLES_PASSED 0x8C2F + +#define GLEW_ARB_occlusion_query2 GLEW_GET_VAR(__GLEW_ARB_occlusion_query2) + +#endif /* GL_ARB_occlusion_query2 */ + /* ----------------------- GL_ARB_pixel_buffer_object ---------------------- */ #ifndef GL_ARB_pixel_buffer_object @@ -2700,7 +4218,7 @@ typedef GLboolean (GLAPIENTRY * PFNGLISQUERYARBPROC) (GLuint id); #define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129 typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat* params); #define glPointParameterfARB GLEW_GET_FUN(__glewPointParameterfARB) #define glPointParameterfvARB GLEW_GET_FUN(__glewPointParameterfvARB) @@ -2721,6 +4239,424 @@ typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, GLfloat* #endif /* GL_ARB_point_sprite */ +/* ------------------------ GL_ARB_provoking_vertex ------------------------ */ + +#ifndef GL_ARB_provoking_vertex +#define GL_ARB_provoking_vertex 1 + +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F + +typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXPROC) (GLenum mode); + +#define glProvokingVertex GLEW_GET_FUN(__glewProvokingVertex) + +#define GLEW_ARB_provoking_vertex GLEW_GET_VAR(__GLEW_ARB_provoking_vertex) + +#endif /* GL_ARB_provoking_vertex */ + +/* --------------------------- GL_ARB_robustness --------------------------- */ + +#ifndef GL_ARB_robustness +#define GL_ARB_robustness 1 + +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004 +#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 +#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 +#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define GL_NO_RESET_NOTIFICATION_ARB 0x8261 + +typedef GLenum (GLAPIENTRY * PFNGLGETGRAPHICSRESETSTATUSARBPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETNCOLORTABLEARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* table); +typedef void (GLAPIENTRY * PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, void* img); +typedef void (GLAPIENTRY * PFNGLGETNCONVOLUTIONFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* image); +typedef void (GLAPIENTRY * PFNGLGETNHISTOGRAMARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values); +typedef void (GLAPIENTRY * PFNGLGETNMAPDVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble* v); +typedef void (GLAPIENTRY * PFNGLGETNMAPFVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat* v); +typedef void (GLAPIENTRY * PFNGLGETNMAPIVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint* v); +typedef void (GLAPIENTRY * PFNGLGETNMINMAXARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values); +typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPFVARBPROC) (GLenum map, GLsizei bufSize, GLfloat* values); +typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPUIVARBPROC) (GLenum map, GLsizei bufSize, GLuint* values); +typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPUSVARBPROC) (GLenum map, GLsizei bufSize, GLushort* values); +typedef void (GLAPIENTRY * PFNGLGETNPOLYGONSTIPPLEARBPROC) (GLsizei bufSize, GLubyte* pattern); +typedef void (GLAPIENTRY * PFNGLGETNSEPARABLEFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void* row, GLsizei columnBufSize, GLvoid*column, GLvoid*span); +typedef void (GLAPIENTRY * PFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* img); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint* params); +typedef void (GLAPIENTRY * PFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data); + +#define glGetGraphicsResetStatusARB GLEW_GET_FUN(__glewGetGraphicsResetStatusARB) +#define glGetnColorTableARB GLEW_GET_FUN(__glewGetnColorTableARB) +#define glGetnCompressedTexImageARB GLEW_GET_FUN(__glewGetnCompressedTexImageARB) +#define glGetnConvolutionFilterARB GLEW_GET_FUN(__glewGetnConvolutionFilterARB) +#define glGetnHistogramARB GLEW_GET_FUN(__glewGetnHistogramARB) +#define glGetnMapdvARB GLEW_GET_FUN(__glewGetnMapdvARB) +#define glGetnMapfvARB GLEW_GET_FUN(__glewGetnMapfvARB) +#define glGetnMapivARB GLEW_GET_FUN(__glewGetnMapivARB) +#define glGetnMinmaxARB GLEW_GET_FUN(__glewGetnMinmaxARB) +#define glGetnPixelMapfvARB GLEW_GET_FUN(__glewGetnPixelMapfvARB) +#define glGetnPixelMapuivARB GLEW_GET_FUN(__glewGetnPixelMapuivARB) +#define glGetnPixelMapusvARB GLEW_GET_FUN(__glewGetnPixelMapusvARB) +#define glGetnPolygonStippleARB GLEW_GET_FUN(__glewGetnPolygonStippleARB) +#define glGetnSeparableFilterARB GLEW_GET_FUN(__glewGetnSeparableFilterARB) +#define glGetnTexImageARB GLEW_GET_FUN(__glewGetnTexImageARB) +#define glGetnUniformdvARB GLEW_GET_FUN(__glewGetnUniformdvARB) +#define glGetnUniformfvARB GLEW_GET_FUN(__glewGetnUniformfvARB) +#define glGetnUniformivARB GLEW_GET_FUN(__glewGetnUniformivARB) +#define glGetnUniformuivARB GLEW_GET_FUN(__glewGetnUniformuivARB) +#define glReadnPixelsARB GLEW_GET_FUN(__glewReadnPixelsARB) + +#define GLEW_ARB_robustness GLEW_GET_VAR(__GLEW_ARB_robustness) + +#endif /* GL_ARB_robustness */ + +/* ------------------------- GL_ARB_sample_shading ------------------------- */ + +#ifndef GL_ARB_sample_shading +#define GL_ARB_sample_shading 1 + +#define GL_SAMPLE_SHADING_ARB 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37 + +typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGARBPROC) (GLclampf value); + +#define glMinSampleShadingARB GLEW_GET_FUN(__glewMinSampleShadingARB) + +#define GLEW_ARB_sample_shading GLEW_GET_VAR(__GLEW_ARB_sample_shading) + +#endif /* GL_ARB_sample_shading */ + +/* ------------------------- GL_ARB_sampler_objects ------------------------ */ + +#ifndef GL_ARB_sampler_objects +#define GL_ARB_sampler_objects 1 + +#define GL_SAMPLER_BINDING 0x8919 + +typedef void (GLAPIENTRY * PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler); +typedef void (GLAPIENTRY * PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint * samplers); +typedef void (GLAPIENTRY * PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint* samplers); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISSAMPLERPROC) (GLuint sampler); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint* params); + +#define glBindSampler GLEW_GET_FUN(__glewBindSampler) +#define glDeleteSamplers GLEW_GET_FUN(__glewDeleteSamplers) +#define glGenSamplers GLEW_GET_FUN(__glewGenSamplers) +#define glGetSamplerParameterIiv GLEW_GET_FUN(__glewGetSamplerParameterIiv) +#define glGetSamplerParameterIuiv GLEW_GET_FUN(__glewGetSamplerParameterIuiv) +#define glGetSamplerParameterfv GLEW_GET_FUN(__glewGetSamplerParameterfv) +#define glGetSamplerParameteriv GLEW_GET_FUN(__glewGetSamplerParameteriv) +#define glIsSampler GLEW_GET_FUN(__glewIsSampler) +#define glSamplerParameterIiv GLEW_GET_FUN(__glewSamplerParameterIiv) +#define glSamplerParameterIuiv GLEW_GET_FUN(__glewSamplerParameterIuiv) +#define glSamplerParameterf GLEW_GET_FUN(__glewSamplerParameterf) +#define glSamplerParameterfv GLEW_GET_FUN(__glewSamplerParameterfv) +#define glSamplerParameteri GLEW_GET_FUN(__glewSamplerParameteri) +#define glSamplerParameteriv GLEW_GET_FUN(__glewSamplerParameteriv) + +#define GLEW_ARB_sampler_objects GLEW_GET_VAR(__GLEW_ARB_sampler_objects) + +#endif /* GL_ARB_sampler_objects */ + +/* ------------------------ GL_ARB_seamless_cube_map ----------------------- */ + +#ifndef GL_ARB_seamless_cube_map +#define GL_ARB_seamless_cube_map 1 + +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F + +#define GLEW_ARB_seamless_cube_map GLEW_GET_VAR(__GLEW_ARB_seamless_cube_map) + +#endif /* GL_ARB_seamless_cube_map */ + +/* --------------------- GL_ARB_separate_shader_objects -------------------- */ + +#ifndef GL_ARB_separate_shader_objects +#define GL_ARB_separate_shader_objects 1 + +#define GL_VERTEX_SHADER_BIT 0x00000001 +#define GL_FRAGMENT_SHADER_BIT 0x00000002 +#define GL_GEOMETRY_SHADER_BIT 0x00000004 +#define GL_TESS_CONTROL_SHADER_BIT 0x00000008 +#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 +#define GL_PROGRAM_SEPARABLE 0x8258 +#define GL_ACTIVE_PROGRAM 0x8259 +#define GL_PROGRAM_PIPELINE_BINDING 0x825A +#define GL_ALL_SHADER_BITS 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program); +typedef void (GLAPIENTRY * PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline); +typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const char ** strings); +typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint* pipelines); +typedef void (GLAPIENTRY * PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint* pipelines); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei* length, char *infoLog); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint x, GLuint y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint x, GLuint y, GLuint z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program); +typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline); + +#define glActiveShaderProgram GLEW_GET_FUN(__glewActiveShaderProgram) +#define glBindProgramPipeline GLEW_GET_FUN(__glewBindProgramPipeline) +#define glCreateShaderProgramv GLEW_GET_FUN(__glewCreateShaderProgramv) +#define glDeleteProgramPipelines GLEW_GET_FUN(__glewDeleteProgramPipelines) +#define glGenProgramPipelines GLEW_GET_FUN(__glewGenProgramPipelines) +#define glGetProgramPipelineInfoLog GLEW_GET_FUN(__glewGetProgramPipelineInfoLog) +#define glGetProgramPipelineiv GLEW_GET_FUN(__glewGetProgramPipelineiv) +#define glIsProgramPipeline GLEW_GET_FUN(__glewIsProgramPipeline) +#define glProgramUniform1d GLEW_GET_FUN(__glewProgramUniform1d) +#define glProgramUniform1dv GLEW_GET_FUN(__glewProgramUniform1dv) +#define glProgramUniform1f GLEW_GET_FUN(__glewProgramUniform1f) +#define glProgramUniform1fv GLEW_GET_FUN(__glewProgramUniform1fv) +#define glProgramUniform1i GLEW_GET_FUN(__glewProgramUniform1i) +#define glProgramUniform1iv GLEW_GET_FUN(__glewProgramUniform1iv) +#define glProgramUniform1ui GLEW_GET_FUN(__glewProgramUniform1ui) +#define glProgramUniform1uiv GLEW_GET_FUN(__glewProgramUniform1uiv) +#define glProgramUniform2d GLEW_GET_FUN(__glewProgramUniform2d) +#define glProgramUniform2dv GLEW_GET_FUN(__glewProgramUniform2dv) +#define glProgramUniform2f GLEW_GET_FUN(__glewProgramUniform2f) +#define glProgramUniform2fv GLEW_GET_FUN(__glewProgramUniform2fv) +#define glProgramUniform2i GLEW_GET_FUN(__glewProgramUniform2i) +#define glProgramUniform2iv GLEW_GET_FUN(__glewProgramUniform2iv) +#define glProgramUniform2ui GLEW_GET_FUN(__glewProgramUniform2ui) +#define glProgramUniform2uiv GLEW_GET_FUN(__glewProgramUniform2uiv) +#define glProgramUniform3d GLEW_GET_FUN(__glewProgramUniform3d) +#define glProgramUniform3dv GLEW_GET_FUN(__glewProgramUniform3dv) +#define glProgramUniform3f GLEW_GET_FUN(__glewProgramUniform3f) +#define glProgramUniform3fv GLEW_GET_FUN(__glewProgramUniform3fv) +#define glProgramUniform3i GLEW_GET_FUN(__glewProgramUniform3i) +#define glProgramUniform3iv GLEW_GET_FUN(__glewProgramUniform3iv) +#define glProgramUniform3ui GLEW_GET_FUN(__glewProgramUniform3ui) +#define glProgramUniform3uiv GLEW_GET_FUN(__glewProgramUniform3uiv) +#define glProgramUniform4d GLEW_GET_FUN(__glewProgramUniform4d) +#define glProgramUniform4dv GLEW_GET_FUN(__glewProgramUniform4dv) +#define glProgramUniform4f GLEW_GET_FUN(__glewProgramUniform4f) +#define glProgramUniform4fv GLEW_GET_FUN(__glewProgramUniform4fv) +#define glProgramUniform4i GLEW_GET_FUN(__glewProgramUniform4i) +#define glProgramUniform4iv GLEW_GET_FUN(__glewProgramUniform4iv) +#define glProgramUniform4ui GLEW_GET_FUN(__glewProgramUniform4ui) +#define glProgramUniform4uiv GLEW_GET_FUN(__glewProgramUniform4uiv) +#define glProgramUniformMatrix2dv GLEW_GET_FUN(__glewProgramUniformMatrix2dv) +#define glProgramUniformMatrix2fv GLEW_GET_FUN(__glewProgramUniformMatrix2fv) +#define glProgramUniformMatrix2x3dv GLEW_GET_FUN(__glewProgramUniformMatrix2x3dv) +#define glProgramUniformMatrix2x3fv GLEW_GET_FUN(__glewProgramUniformMatrix2x3fv) +#define glProgramUniformMatrix2x4dv GLEW_GET_FUN(__glewProgramUniformMatrix2x4dv) +#define glProgramUniformMatrix2x4fv GLEW_GET_FUN(__glewProgramUniformMatrix2x4fv) +#define glProgramUniformMatrix3dv GLEW_GET_FUN(__glewProgramUniformMatrix3dv) +#define glProgramUniformMatrix3fv GLEW_GET_FUN(__glewProgramUniformMatrix3fv) +#define glProgramUniformMatrix3x2dv GLEW_GET_FUN(__glewProgramUniformMatrix3x2dv) +#define glProgramUniformMatrix3x2fv GLEW_GET_FUN(__glewProgramUniformMatrix3x2fv) +#define glProgramUniformMatrix3x4dv GLEW_GET_FUN(__glewProgramUniformMatrix3x4dv) +#define glProgramUniformMatrix3x4fv GLEW_GET_FUN(__glewProgramUniformMatrix3x4fv) +#define glProgramUniformMatrix4dv GLEW_GET_FUN(__glewProgramUniformMatrix4dv) +#define glProgramUniformMatrix4fv GLEW_GET_FUN(__glewProgramUniformMatrix4fv) +#define glProgramUniformMatrix4x2dv GLEW_GET_FUN(__glewProgramUniformMatrix4x2dv) +#define glProgramUniformMatrix4x2fv GLEW_GET_FUN(__glewProgramUniformMatrix4x2fv) +#define glProgramUniformMatrix4x3dv GLEW_GET_FUN(__glewProgramUniformMatrix4x3dv) +#define glProgramUniformMatrix4x3fv GLEW_GET_FUN(__glewProgramUniformMatrix4x3fv) +#define glUseProgramStages GLEW_GET_FUN(__glewUseProgramStages) +#define glValidateProgramPipeline GLEW_GET_FUN(__glewValidateProgramPipeline) + +#define GLEW_ARB_separate_shader_objects GLEW_GET_VAR(__GLEW_ARB_separate_shader_objects) + +#endif /* GL_ARB_separate_shader_objects */ + +/* --------------------- GL_ARB_shader_atomic_counters --------------------- */ + +#ifndef GL_ARB_shader_atomic_counters +#define GL_ARB_shader_atomic_counters 1 + +#define GL_ATOMIC_COUNTER_BUFFER 0x92C0 +#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 +#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 +#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 +#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB +#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF +#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 +#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 +#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 +#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 +#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 +#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 +#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 +#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA +#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB +#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC + +typedef void (GLAPIENTRY * PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint* params); + +#define glGetActiveAtomicCounterBufferiv GLEW_GET_FUN(__glewGetActiveAtomicCounterBufferiv) + +#define GLEW_ARB_shader_atomic_counters GLEW_GET_VAR(__GLEW_ARB_shader_atomic_counters) + +#endif /* GL_ARB_shader_atomic_counters */ + +/* ----------------------- GL_ARB_shader_bit_encoding ---------------------- */ + +#ifndef GL_ARB_shader_bit_encoding +#define GL_ARB_shader_bit_encoding 1 + +#define GLEW_ARB_shader_bit_encoding GLEW_GET_VAR(__GLEW_ARB_shader_bit_encoding) + +#endif /* GL_ARB_shader_bit_encoding */ + +/* --------------------- GL_ARB_shader_image_load_store -------------------- */ + +#ifndef GL_ARB_shader_image_load_store +#define GL_ARB_shader_image_load_store 1 + +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 +#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 +#define GL_UNIFORM_BARRIER_BIT 0x00000004 +#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 +#define GL_COMMAND_BARRIER_BIT 0x00000040 +#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 +#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 +#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 +#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 +#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 +#define GL_MAX_IMAGE_UNITS 0x8F38 +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39 +#define GL_IMAGE_BINDING_NAME 0x8F3A +#define GL_IMAGE_BINDING_LEVEL 0x8F3B +#define GL_IMAGE_BINDING_LAYERED 0x8F3C +#define GL_IMAGE_BINDING_LAYER 0x8F3D +#define GL_IMAGE_BINDING_ACCESS 0x8F3E +#define GL_IMAGE_1D 0x904C +#define GL_IMAGE_2D 0x904D +#define GL_IMAGE_3D 0x904E +#define GL_IMAGE_2D_RECT 0x904F +#define GL_IMAGE_CUBE 0x9050 +#define GL_IMAGE_BUFFER 0x9051 +#define GL_IMAGE_1D_ARRAY 0x9052 +#define GL_IMAGE_2D_ARRAY 0x9053 +#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 +#define GL_IMAGE_2D_MULTISAMPLE 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 +#define GL_INT_IMAGE_1D 0x9057 +#define GL_INT_IMAGE_2D 0x9058 +#define GL_INT_IMAGE_3D 0x9059 +#define GL_INT_IMAGE_2D_RECT 0x905A +#define GL_INT_IMAGE_CUBE 0x905B +#define GL_INT_IMAGE_BUFFER 0x905C +#define GL_INT_IMAGE_1D_ARRAY 0x905D +#define GL_INT_IMAGE_2D_ARRAY 0x905E +#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F +#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 +#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 +#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 +#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C +#define GL_MAX_IMAGE_SAMPLES 0x906D +#define GL_IMAGE_BINDING_FORMAT 0x906E +#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9 +#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA +#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB +#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD +#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE +#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF +#define GL_ALL_BARRIER_BITS 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); +typedef void (GLAPIENTRY * PFNGLMEMORYBARRIERPROC) (GLbitfield barriers); + +#define glBindImageTexture GLEW_GET_FUN(__glewBindImageTexture) +#define glMemoryBarrier GLEW_GET_FUN(__glewMemoryBarrier) + +#define GLEW_ARB_shader_image_load_store GLEW_GET_VAR(__GLEW_ARB_shader_image_load_store) + +#endif /* GL_ARB_shader_image_load_store */ + /* ------------------------- GL_ARB_shader_objects ------------------------- */ #ifndef GL_ARB_shader_objects @@ -2848,6 +4784,70 @@ typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj) #endif /* GL_ARB_shader_objects */ +/* ------------------------ GL_ARB_shader_precision ------------------------ */ + +#ifndef GL_ARB_shader_precision +#define GL_ARB_shader_precision 1 + +#define GLEW_ARB_shader_precision GLEW_GET_VAR(__GLEW_ARB_shader_precision) + +#endif /* GL_ARB_shader_precision */ + +/* ---------------------- GL_ARB_shader_stencil_export --------------------- */ + +#ifndef GL_ARB_shader_stencil_export +#define GL_ARB_shader_stencil_export 1 + +#define GLEW_ARB_shader_stencil_export GLEW_GET_VAR(__GLEW_ARB_shader_stencil_export) + +#endif /* GL_ARB_shader_stencil_export */ + +/* ------------------------ GL_ARB_shader_subroutine ----------------------- */ + +#ifndef GL_ARB_shader_subroutine +#define GL_ARB_shader_subroutine 1 + +#define GL_ACTIVE_SUBROUTINES 0x8DE5 +#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6 +#define GL_MAX_SUBROUTINES 0x8DE7 +#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47 +#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49 +#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A +#define GL_COMPATIBLE_SUBROUTINES 0x8E4B + +typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, char *name); +typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, char *name); +typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint* values); +typedef GLuint (GLAPIENTRY * PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const char* name); +typedef GLint (GLAPIENTRY * PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const char* name); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint* params); +typedef void (GLAPIENTRY * PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint* indices); + +#define glGetActiveSubroutineName GLEW_GET_FUN(__glewGetActiveSubroutineName) +#define glGetActiveSubroutineUniformName GLEW_GET_FUN(__glewGetActiveSubroutineUniformName) +#define glGetActiveSubroutineUniformiv GLEW_GET_FUN(__glewGetActiveSubroutineUniformiv) +#define glGetProgramStageiv GLEW_GET_FUN(__glewGetProgramStageiv) +#define glGetSubroutineIndex GLEW_GET_FUN(__glewGetSubroutineIndex) +#define glGetSubroutineUniformLocation GLEW_GET_FUN(__glewGetSubroutineUniformLocation) +#define glGetUniformSubroutineuiv GLEW_GET_FUN(__glewGetUniformSubroutineuiv) +#define glUniformSubroutinesuiv GLEW_GET_FUN(__glewUniformSubroutinesuiv) + +#define GLEW_ARB_shader_subroutine GLEW_GET_VAR(__GLEW_ARB_shader_subroutine) + +#endif /* GL_ARB_shader_subroutine */ + +/* ----------------------- GL_ARB_shader_texture_lod ----------------------- */ + +#ifndef GL_ARB_shader_texture_lod +#define GL_ARB_shader_texture_lod 1 + +#define GLEW_ARB_shader_texture_lod GLEW_GET_VAR(__GLEW_ARB_shader_texture_lod) + +#endif /* GL_ARB_shader_texture_lod */ + /* ---------------------- GL_ARB_shading_language_100 ---------------------- */ #ifndef GL_ARB_shading_language_100 @@ -2859,6 +4859,51 @@ typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj) #endif /* GL_ARB_shading_language_100 */ +/* -------------------- GL_ARB_shading_language_420pack -------------------- */ + +#ifndef GL_ARB_shading_language_420pack +#define GL_ARB_shading_language_420pack 1 + +#define GLEW_ARB_shading_language_420pack GLEW_GET_VAR(__GLEW_ARB_shading_language_420pack) + +#endif /* GL_ARB_shading_language_420pack */ + +/* -------------------- GL_ARB_shading_language_include -------------------- */ + +#ifndef GL_ARB_shading_language_include +#define GL_ARB_shading_language_include 1 + +#define GL_SHADER_INCLUDE_ARB 0x8DAE +#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9 +#define GL_NAMED_STRING_TYPE_ARB 0x8DEA + +typedef void (GLAPIENTRY * PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const char ** path, const GLint *length); +typedef void (GLAPIENTRY * PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const char* name); +typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const char* name, GLsizei bufSize, GLint *stringlen, char *string); +typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const char* name, GLenum pname, GLint *params); +typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const char* name); +typedef void (GLAPIENTRY * PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const char* name, GLint stringlen, const char *string); + +#define glCompileShaderIncludeARB GLEW_GET_FUN(__glewCompileShaderIncludeARB) +#define glDeleteNamedStringARB GLEW_GET_FUN(__glewDeleteNamedStringARB) +#define glGetNamedStringARB GLEW_GET_FUN(__glewGetNamedStringARB) +#define glGetNamedStringivARB GLEW_GET_FUN(__glewGetNamedStringivARB) +#define glIsNamedStringARB GLEW_GET_FUN(__glewIsNamedStringARB) +#define glNamedStringARB GLEW_GET_FUN(__glewNamedStringARB) + +#define GLEW_ARB_shading_language_include GLEW_GET_VAR(__GLEW_ARB_shading_language_include) + +#endif /* GL_ARB_shading_language_include */ + +/* -------------------- GL_ARB_shading_language_packing -------------------- */ + +#ifndef GL_ARB_shading_language_packing +#define GL_ARB_shading_language_packing 1 + +#define GLEW_ARB_shading_language_packing GLEW_GET_VAR(__GLEW_ARB_shading_language_packing) + +#endif /* GL_ARB_shading_language_packing */ + /* ----------------------------- GL_ARB_shadow ----------------------------- */ #ifndef GL_ARB_shadow @@ -2883,6 +4928,95 @@ typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj) #endif /* GL_ARB_shadow_ambient */ +/* ------------------------------ GL_ARB_sync ------------------------------ */ + +#ifndef GL_ARB_sync +#define GL_ARB_sync 1 + +#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 +#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 +#define GL_OBJECT_TYPE 0x9112 +#define GL_SYNC_CONDITION 0x9113 +#define GL_SYNC_STATUS 0x9114 +#define GL_SYNC_FLAGS 0x9115 +#define GL_SYNC_FENCE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 +#define GL_UNSIGNALED 0x9118 +#define GL_SIGNALED 0x9119 +#define GL_ALREADY_SIGNALED 0x911A +#define GL_TIMEOUT_EXPIRED 0x911B +#define GL_CONDITION_SATISFIED 0x911C +#define GL_WAIT_FAILED 0x911D +#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF + +typedef GLenum (GLAPIENTRY * PFNGLCLIENTWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout); +typedef void (GLAPIENTRY * PFNGLDELETESYNCPROC) (GLsync GLsync); +typedef GLsync (GLAPIENTRY * PFNGLFENCESYNCPROC) (GLenum condition,GLbitfield flags); +typedef void (GLAPIENTRY * PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETSYNCIVPROC) (GLsync GLsync,GLenum pname,GLsizei bufSize,GLsizei* length, GLint *values); +typedef GLboolean (GLAPIENTRY * PFNGLISSYNCPROC) (GLsync GLsync); +typedef void (GLAPIENTRY * PFNGLWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout); + +#define glClientWaitSync GLEW_GET_FUN(__glewClientWaitSync) +#define glDeleteSync GLEW_GET_FUN(__glewDeleteSync) +#define glFenceSync GLEW_GET_FUN(__glewFenceSync) +#define glGetInteger64v GLEW_GET_FUN(__glewGetInteger64v) +#define glGetSynciv GLEW_GET_FUN(__glewGetSynciv) +#define glIsSync GLEW_GET_FUN(__glewIsSync) +#define glWaitSync GLEW_GET_FUN(__glewWaitSync) + +#define GLEW_ARB_sync GLEW_GET_VAR(__GLEW_ARB_sync) + +#endif /* GL_ARB_sync */ + +/* ----------------------- GL_ARB_tessellation_shader ---------------------- */ + +#ifndef GL_ARB_tessellation_shader +#define GL_ARB_tessellation_shader 1 + +#define GL_PATCHES 0xE +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 +#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C +#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D +#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E +#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F +#define GL_PATCH_VERTICES 0x8E72 +#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 +#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 +#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 +#define GL_TESS_GEN_MODE 0x8E76 +#define GL_TESS_GEN_SPACING 0x8E77 +#define GL_TESS_GEN_VERTEX_ORDER 0x8E78 +#define GL_TESS_GEN_POINT_MODE 0x8E79 +#define GL_ISOLINES 0x8E7A +#define GL_FRACTIONAL_ODD 0x8E7B +#define GL_FRACTIONAL_EVEN 0x8E7C +#define GL_MAX_PATCH_VERTICES 0x8E7D +#define GL_MAX_TESS_GEN_LEVEL 0x8E7E +#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F +#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 +#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 +#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 +#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 +#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84 +#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 +#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 +#define GL_TESS_EVALUATION_SHADER 0x8E87 +#define GL_TESS_CONTROL_SHADER 0x8E88 +#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 +#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A + +typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat* values); +typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value); + +#define glPatchParameterfv GLEW_GET_FUN(__glewPatchParameterfv) +#define glPatchParameteri GLEW_GET_FUN(__glewPatchParameteri) + +#define GLEW_ARB_tessellation_shader GLEW_GET_VAR(__GLEW_ARB_tessellation_shader) + +#endif /* GL_ARB_tessellation_shader */ + /* ---------------------- GL_ARB_texture_border_clamp ---------------------- */ #ifndef GL_ARB_texture_border_clamp @@ -2894,6 +5028,34 @@ typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj) #endif /* GL_ARB_texture_border_clamp */ +/* ---------------------- GL_ARB_texture_buffer_object --------------------- */ + +#ifndef GL_ARB_texture_buffer_object +#define GL_ARB_texture_buffer_object 1 + +#define GL_TEXTURE_BUFFER_ARB 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E + +typedef void (GLAPIENTRY * PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer); + +#define glTexBufferARB GLEW_GET_FUN(__glewTexBufferARB) + +#define GLEW_ARB_texture_buffer_object GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object) + +#endif /* GL_ARB_texture_buffer_object */ + +/* ------------------- GL_ARB_texture_buffer_object_rgb32 ------------------ */ + +#ifndef GL_ARB_texture_buffer_object_rgb32 +#define GL_ARB_texture_buffer_object_rgb32 1 + +#define GLEW_ARB_texture_buffer_object_rgb32 GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object_rgb32) + +#endif /* GL_ARB_texture_buffer_object_rgb32 */ + /* ----------------------- GL_ARB_texture_compression ---------------------- */ #ifndef GL_ARB_texture_compression @@ -2931,6 +5093,34 @@ typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GL #endif /* GL_ARB_texture_compression */ +/* -------------------- GL_ARB_texture_compression_bptc -------------------- */ + +#ifndef GL_ARB_texture_compression_bptc +#define GL_ARB_texture_compression_bptc 1 + +#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F + +#define GLEW_ARB_texture_compression_bptc GLEW_GET_VAR(__GLEW_ARB_texture_compression_bptc) + +#endif /* GL_ARB_texture_compression_bptc */ + +/* -------------------- GL_ARB_texture_compression_rgtc -------------------- */ + +#ifndef GL_ARB_texture_compression_rgtc +#define GL_ARB_texture_compression_rgtc 1 + +#define GL_COMPRESSED_RED_RGTC1 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC +#define GL_COMPRESSED_RG_RGTC2 0x8DBD +#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE + +#define GLEW_ARB_texture_compression_rgtc GLEW_GET_VAR(__GLEW_ARB_texture_compression_rgtc) + +#endif /* GL_ARB_texture_compression_rgtc */ + /* ------------------------ GL_ARB_texture_cube_map ------------------------ */ #ifndef GL_ARB_texture_cube_map @@ -2953,6 +5143,23 @@ typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GL #endif /* GL_ARB_texture_cube_map */ +/* --------------------- GL_ARB_texture_cube_map_array --------------------- */ + +#ifndef GL_ARB_texture_cube_map_array +#define GL_ARB_texture_cube_map_array 1 + +#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F + +#define GLEW_ARB_texture_cube_map_array GLEW_GET_VAR(__GLEW_ARB_texture_cube_map_array) + +#endif /* GL_ARB_texture_cube_map_array */ + /* ------------------------- GL_ARB_texture_env_add ------------------------ */ #ifndef GL_ARB_texture_env_add @@ -3045,6 +5252,19 @@ typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GL #endif /* GL_ARB_texture_float */ +/* ------------------------- GL_ARB_texture_gather ------------------------- */ + +#ifndef GL_ARB_texture_gather +#define GL_ARB_texture_gather 1 + +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F +#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F + +#define GLEW_ARB_texture_gather GLEW_GET_VAR(__GLEW_ARB_texture_gather) + +#endif /* GL_ARB_texture_gather */ + /* --------------------- GL_ARB_texture_mirrored_repeat -------------------- */ #ifndef GL_ARB_texture_mirrored_repeat @@ -3056,6 +5276,47 @@ typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GL #endif /* GL_ARB_texture_mirrored_repeat */ +/* ----------------------- GL_ARB_texture_multisample ---------------------- */ + +#ifndef GL_ARB_texture_multisample +#define GL_ARB_texture_multisample 1 + +#define GL_SAMPLE_POSITION 0x8E50 +#define GL_SAMPLE_MASK 0x8E51 +#define GL_SAMPLE_MASK_VALUE 0x8E52 +#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 +#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 +#define GL_TEXTURE_SAMPLES 0x9106 +#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 +#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 +#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D +#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E +#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F +#define GL_MAX_INTEGER_SAMPLES 0x9110 + +typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat* val); +typedef void (GLAPIENTRY * PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); + +#define glGetMultisamplefv GLEW_GET_FUN(__glewGetMultisamplefv) +#define glSampleMaski GLEW_GET_FUN(__glewSampleMaski) +#define glTexImage2DMultisample GLEW_GET_FUN(__glewTexImage2DMultisample) +#define glTexImage3DMultisample GLEW_GET_FUN(__glewTexImage3DMultisample) + +#define GLEW_ARB_texture_multisample GLEW_GET_VAR(__GLEW_ARB_texture_multisample) + +#endif /* GL_ARB_texture_multisample */ + /* -------------------- GL_ARB_texture_non_power_of_two -------------------- */ #ifndef GL_ARB_texture_non_power_of_two @@ -3065,6 +5326,15 @@ typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GL #endif /* GL_ARB_texture_non_power_of_two */ +/* ------------------------ GL_ARB_texture_query_lod ----------------------- */ + +#ifndef GL_ARB_texture_query_lod +#define GL_ARB_texture_query_lod 1 + +#define GLEW_ARB_texture_query_lod GLEW_GET_VAR(__GLEW_ARB_texture_query_lod) + +#endif /* GL_ARB_texture_query_lod */ + /* ------------------------ GL_ARB_texture_rectangle ----------------------- */ #ifndef GL_ARB_texture_rectangle @@ -3081,6 +5351,182 @@ typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GL #endif /* GL_ARB_texture_rectangle */ +/* --------------------------- GL_ARB_texture_rg --------------------------- */ + +#ifndef GL_ARB_texture_rg +#define GL_ARB_texture_rg 1 + +#define GL_RED 0x1903 +#define GL_COMPRESSED_RED 0x8225 +#define GL_COMPRESSED_RG 0x8226 +#define GL_RG 0x8227 +#define GL_RG_INTEGER 0x8228 +#define GL_R8 0x8229 +#define GL_R16 0x822A +#define GL_RG8 0x822B +#define GL_RG16 0x822C +#define GL_R16F 0x822D +#define GL_R32F 0x822E +#define GL_RG16F 0x822F +#define GL_RG32F 0x8230 +#define GL_R8I 0x8231 +#define GL_R8UI 0x8232 +#define GL_R16I 0x8233 +#define GL_R16UI 0x8234 +#define GL_R32I 0x8235 +#define GL_R32UI 0x8236 +#define GL_RG8I 0x8237 +#define GL_RG8UI 0x8238 +#define GL_RG16I 0x8239 +#define GL_RG16UI 0x823A +#define GL_RG32I 0x823B +#define GL_RG32UI 0x823C + +#define GLEW_ARB_texture_rg GLEW_GET_VAR(__GLEW_ARB_texture_rg) + +#endif /* GL_ARB_texture_rg */ + +/* ----------------------- GL_ARB_texture_rgb10_a2ui ----------------------- */ + +#ifndef GL_ARB_texture_rgb10_a2ui +#define GL_ARB_texture_rgb10_a2ui 1 + +#define GL_RGB10_A2UI 0x906F + +#define GLEW_ARB_texture_rgb10_a2ui GLEW_GET_VAR(__GLEW_ARB_texture_rgb10_a2ui) + +#endif /* GL_ARB_texture_rgb10_a2ui */ + +/* ------------------------- GL_ARB_texture_storage ------------------------ */ + +#ifndef GL_ARB_texture_storage +#define GL_ARB_texture_storage 1 + +#define GL_ALPHA8_EXT 0x803C +#define GL_LUMINANCE8_EXT 0x8040 +#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 +#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F + +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); + +#define glTexStorage1D GLEW_GET_FUN(__glewTexStorage1D) +#define glTexStorage2D GLEW_GET_FUN(__glewTexStorage2D) +#define glTexStorage3D GLEW_GET_FUN(__glewTexStorage3D) +#define glTextureStorage1DEXT GLEW_GET_FUN(__glewTextureStorage1DEXT) +#define glTextureStorage2DEXT GLEW_GET_FUN(__glewTextureStorage2DEXT) +#define glTextureStorage3DEXT GLEW_GET_FUN(__glewTextureStorage3DEXT) + +#define GLEW_ARB_texture_storage GLEW_GET_VAR(__GLEW_ARB_texture_storage) + +#endif /* GL_ARB_texture_storage */ + +/* ------------------------- GL_ARB_texture_swizzle ------------------------ */ + +#ifndef GL_ARB_texture_swizzle +#define GL_ARB_texture_swizzle 1 + +#define GL_TEXTURE_SWIZZLE_R 0x8E42 +#define GL_TEXTURE_SWIZZLE_G 0x8E43 +#define GL_TEXTURE_SWIZZLE_B 0x8E44 +#define GL_TEXTURE_SWIZZLE_A 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 + +#define GLEW_ARB_texture_swizzle GLEW_GET_VAR(__GLEW_ARB_texture_swizzle) + +#endif /* GL_ARB_texture_swizzle */ + +/* --------------------------- GL_ARB_timer_query -------------------------- */ + +#ifndef GL_ARB_timer_query +#define GL_ARB_timer_query 1 + +#define GL_TIME_ELAPSED 0x88BF +#define GL_TIMESTAMP 0x8E28 + +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64* params); +typedef void (GLAPIENTRY * PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target); + +#define glGetQueryObjecti64v GLEW_GET_FUN(__glewGetQueryObjecti64v) +#define glGetQueryObjectui64v GLEW_GET_FUN(__glewGetQueryObjectui64v) +#define glQueryCounter GLEW_GET_FUN(__glewQueryCounter) + +#define GLEW_ARB_timer_query GLEW_GET_VAR(__GLEW_ARB_timer_query) + +#endif /* GL_ARB_timer_query */ + +/* ----------------------- GL_ARB_transform_feedback2 ---------------------- */ + +#ifndef GL_ARB_transform_feedback2 +#define GL_ARB_transform_feedback2 1 + +#define GL_TRANSFORM_FEEDBACK 0x8E22 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 + +typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id); +typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint* ids); +typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKPROC) (void); +typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKPROC) (void); + +#define glBindTransformFeedback GLEW_GET_FUN(__glewBindTransformFeedback) +#define glDeleteTransformFeedbacks GLEW_GET_FUN(__glewDeleteTransformFeedbacks) +#define glDrawTransformFeedback GLEW_GET_FUN(__glewDrawTransformFeedback) +#define glGenTransformFeedbacks GLEW_GET_FUN(__glewGenTransformFeedbacks) +#define glIsTransformFeedback GLEW_GET_FUN(__glewIsTransformFeedback) +#define glPauseTransformFeedback GLEW_GET_FUN(__glewPauseTransformFeedback) +#define glResumeTransformFeedback GLEW_GET_FUN(__glewResumeTransformFeedback) + +#define GLEW_ARB_transform_feedback2 GLEW_GET_VAR(__GLEW_ARB_transform_feedback2) + +#endif /* GL_ARB_transform_feedback2 */ + +/* ----------------------- GL_ARB_transform_feedback3 ---------------------- */ + +#ifndef GL_ARB_transform_feedback3 +#define GL_ARB_transform_feedback3 1 + +#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70 +#define GL_MAX_VERTEX_STREAMS 0x8E71 + +typedef void (GLAPIENTRY * PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream); +typedef void (GLAPIENTRY * PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index); +typedef void (GLAPIENTRY * PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params); + +#define glBeginQueryIndexed GLEW_GET_FUN(__glewBeginQueryIndexed) +#define glDrawTransformFeedbackStream GLEW_GET_FUN(__glewDrawTransformFeedbackStream) +#define glEndQueryIndexed GLEW_GET_FUN(__glewEndQueryIndexed) +#define glGetQueryIndexediv GLEW_GET_FUN(__glewGetQueryIndexediv) + +#define GLEW_ARB_transform_feedback3 GLEW_GET_VAR(__GLEW_ARB_transform_feedback3) + +#endif /* GL_ARB_transform_feedback3 */ + +/* ------------------ GL_ARB_transform_feedback_instanced ------------------ */ + +#ifndef GL_ARB_transform_feedback_instanced +#define GL_ARB_transform_feedback_instanced 1 + +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei primcount); + +#define glDrawTransformFeedbackInstanced GLEW_GET_FUN(__glewDrawTransformFeedbackInstanced) +#define glDrawTransformFeedbackStreamInstanced GLEW_GET_FUN(__glewDrawTransformFeedbackStreamInstanced) + +#define GLEW_ARB_transform_feedback_instanced GLEW_GET_VAR(__GLEW_ARB_transform_feedback_instanced) + +#endif /* GL_ARB_transform_feedback_instanced */ + /* ------------------------ GL_ARB_transpose_matrix ------------------------ */ #ifndef GL_ARB_transpose_matrix @@ -3105,6 +5551,141 @@ typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]); #endif /* GL_ARB_transpose_matrix */ +/* ---------------------- GL_ARB_uniform_buffer_object --------------------- */ + +#ifndef GL_ARB_uniform_buffer_object +#define GL_ARB_uniform_buffer_object 1 + +#define GL_UNIFORM_BUFFER 0x8A11 +#define GL_UNIFORM_BUFFER_BINDING 0x8A28 +#define GL_UNIFORM_BUFFER_START 0x8A29 +#define GL_UNIFORM_BUFFER_SIZE 0x8A2A +#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C +#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D +#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E +#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F +#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 +#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 +#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 +#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 +#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 +#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 +#define GL_UNIFORM_TYPE 0x8A37 +#define GL_UNIFORM_SIZE 0x8A38 +#define GL_UNIFORM_NAME_LENGTH 0x8A39 +#define GL_UNIFORM_BLOCK_INDEX 0x8A3A +#define GL_UNIFORM_OFFSET 0x8A3B +#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C +#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D +#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E +#define GL_UNIFORM_BLOCK_BINDING 0x8A3F +#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 +#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 +#define GL_INVALID_INDEX 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, char* uniformBlockName); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, char* uniformName); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint* data); +typedef GLuint (GLAPIENTRY * PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const char* uniformBlockName); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const char** uniformNames, GLuint* uniformIndices); +typedef void (GLAPIENTRY * PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); + +#define glBindBufferBase GLEW_GET_FUN(__glewBindBufferBase) +#define glBindBufferRange GLEW_GET_FUN(__glewBindBufferRange) +#define glGetActiveUniformBlockName GLEW_GET_FUN(__glewGetActiveUniformBlockName) +#define glGetActiveUniformBlockiv GLEW_GET_FUN(__glewGetActiveUniformBlockiv) +#define glGetActiveUniformName GLEW_GET_FUN(__glewGetActiveUniformName) +#define glGetActiveUniformsiv GLEW_GET_FUN(__glewGetActiveUniformsiv) +#define glGetIntegeri_v GLEW_GET_FUN(__glewGetIntegeri_v) +#define glGetUniformBlockIndex GLEW_GET_FUN(__glewGetUniformBlockIndex) +#define glGetUniformIndices GLEW_GET_FUN(__glewGetUniformIndices) +#define glUniformBlockBinding GLEW_GET_FUN(__glewUniformBlockBinding) + +#define GLEW_ARB_uniform_buffer_object GLEW_GET_VAR(__GLEW_ARB_uniform_buffer_object) + +#endif /* GL_ARB_uniform_buffer_object */ + +/* ------------------------ GL_ARB_vertex_array_bgra ----------------------- */ + +#ifndef GL_ARB_vertex_array_bgra +#define GL_ARB_vertex_array_bgra 1 + +#define GL_BGRA 0x80E1 + +#define GLEW_ARB_vertex_array_bgra GLEW_GET_VAR(__GLEW_ARB_vertex_array_bgra) + +#endif /* GL_ARB_vertex_array_bgra */ + +/* ----------------------- GL_ARB_vertex_array_object ---------------------- */ + +#ifndef GL_ARB_vertex_array_object +#define GL_ARB_vertex_array_object 1 + +#define GL_VERTEX_ARRAY_BINDING 0x85B5 + +typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYPROC) (GLuint array); +typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint* arrays); +typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays); +typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYPROC) (GLuint array); + +#define glBindVertexArray GLEW_GET_FUN(__glewBindVertexArray) +#define glDeleteVertexArrays GLEW_GET_FUN(__glewDeleteVertexArrays) +#define glGenVertexArrays GLEW_GET_FUN(__glewGenVertexArrays) +#define glIsVertexArray GLEW_GET_FUN(__glewIsVertexArray) + +#define GLEW_ARB_vertex_array_object GLEW_GET_VAR(__GLEW_ARB_vertex_array_object) + +#endif /* GL_ARB_vertex_array_object */ + +/* ----------------------- GL_ARB_vertex_attrib_64bit ---------------------- */ + +#ifndef GL_ARB_vertex_attrib_64bit +#define GL_ARB_vertex_attrib_64bit 1 + +#define GL_DOUBLE_MAT2 0x8F46 +#define GL_DOUBLE_MAT3 0x8F47 +#define GL_DOUBLE_MAT4 0x8F48 +#define GL_DOUBLE_VEC2 0x8FFC +#define GL_DOUBLE_VEC3 0x8FFD +#define GL_DOUBLE_VEC4 0x8FFE + +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer); + +#define glGetVertexAttribLdv GLEW_GET_FUN(__glewGetVertexAttribLdv) +#define glVertexAttribL1d GLEW_GET_FUN(__glewVertexAttribL1d) +#define glVertexAttribL1dv GLEW_GET_FUN(__glewVertexAttribL1dv) +#define glVertexAttribL2d GLEW_GET_FUN(__glewVertexAttribL2d) +#define glVertexAttribL2dv GLEW_GET_FUN(__glewVertexAttribL2dv) +#define glVertexAttribL3d GLEW_GET_FUN(__glewVertexAttribL3d) +#define glVertexAttribL3dv GLEW_GET_FUN(__glewVertexAttribL3dv) +#define glVertexAttribL4d GLEW_GET_FUN(__glewVertexAttribL4d) +#define glVertexAttribL4dv GLEW_GET_FUN(__glewVertexAttribL4dv) +#define glVertexAttribLPointer GLEW_GET_FUN(__glewVertexAttribLPointer) + +#define GLEW_ARB_vertex_attrib_64bit GLEW_GET_VAR(__GLEW_ARB_vertex_attrib_64bit) + +#endif /* GL_ARB_vertex_attrib_64bit */ + /* -------------------------- GL_ARB_vertex_blend -------------------------- */ #ifndef GL_ARB_vertex_blend @@ -3216,8 +5797,8 @@ typedef void (GLAPIENTRY * PFNGLWEIGHTUSVARBPROC) (GLint size, GLushort *weights #define GL_DYNAMIC_READ_ARB 0x88E9 #define GL_DYNAMIC_COPY_ARB 0x88EA -typedef ptrdiff_t GLsizeiptrARB; typedef ptrdiff_t GLintptrARB; +typedef ptrdiff_t GLsizeiptrARB; typedef void (GLAPIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer); typedef void (GLAPIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid* data, GLenum usage); @@ -3487,6 +6068,141 @@ typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programO #endif /* GL_ARB_vertex_shader */ +/* ------------------- GL_ARB_vertex_type_2_10_10_10_rev ------------------- */ + +#ifndef GL_ARB_vertex_type_2_10_10_10_rev +#define GL_ARB_vertex_type_2_10_10_10_rev 1 + +#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 +#define GL_INT_2_10_10_10_REV 0x8D9F + +typedef void (GLAPIENTRY * PFNGLCOLORP3UIPROC) (GLenum type, GLuint color); +typedef void (GLAPIENTRY * PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint* color); +typedef void (GLAPIENTRY * PFNGLCOLORP4UIPROC) (GLenum type, GLuint color); +typedef void (GLAPIENTRY * PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint* color); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint* color); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint* value); + +#define glColorP3ui GLEW_GET_FUN(__glewColorP3ui) +#define glColorP3uiv GLEW_GET_FUN(__glewColorP3uiv) +#define glColorP4ui GLEW_GET_FUN(__glewColorP4ui) +#define glColorP4uiv GLEW_GET_FUN(__glewColorP4uiv) +#define glMultiTexCoordP1ui GLEW_GET_FUN(__glewMultiTexCoordP1ui) +#define glMultiTexCoordP1uiv GLEW_GET_FUN(__glewMultiTexCoordP1uiv) +#define glMultiTexCoordP2ui GLEW_GET_FUN(__glewMultiTexCoordP2ui) +#define glMultiTexCoordP2uiv GLEW_GET_FUN(__glewMultiTexCoordP2uiv) +#define glMultiTexCoordP3ui GLEW_GET_FUN(__glewMultiTexCoordP3ui) +#define glMultiTexCoordP3uiv GLEW_GET_FUN(__glewMultiTexCoordP3uiv) +#define glMultiTexCoordP4ui GLEW_GET_FUN(__glewMultiTexCoordP4ui) +#define glMultiTexCoordP4uiv GLEW_GET_FUN(__glewMultiTexCoordP4uiv) +#define glNormalP3ui GLEW_GET_FUN(__glewNormalP3ui) +#define glNormalP3uiv GLEW_GET_FUN(__glewNormalP3uiv) +#define glSecondaryColorP3ui GLEW_GET_FUN(__glewSecondaryColorP3ui) +#define glSecondaryColorP3uiv GLEW_GET_FUN(__glewSecondaryColorP3uiv) +#define glTexCoordP1ui GLEW_GET_FUN(__glewTexCoordP1ui) +#define glTexCoordP1uiv GLEW_GET_FUN(__glewTexCoordP1uiv) +#define glTexCoordP2ui GLEW_GET_FUN(__glewTexCoordP2ui) +#define glTexCoordP2uiv GLEW_GET_FUN(__glewTexCoordP2uiv) +#define glTexCoordP3ui GLEW_GET_FUN(__glewTexCoordP3ui) +#define glTexCoordP3uiv GLEW_GET_FUN(__glewTexCoordP3uiv) +#define glTexCoordP4ui GLEW_GET_FUN(__glewTexCoordP4ui) +#define glTexCoordP4uiv GLEW_GET_FUN(__glewTexCoordP4uiv) +#define glVertexAttribP1ui GLEW_GET_FUN(__glewVertexAttribP1ui) +#define glVertexAttribP1uiv GLEW_GET_FUN(__glewVertexAttribP1uiv) +#define glVertexAttribP2ui GLEW_GET_FUN(__glewVertexAttribP2ui) +#define glVertexAttribP2uiv GLEW_GET_FUN(__glewVertexAttribP2uiv) +#define glVertexAttribP3ui GLEW_GET_FUN(__glewVertexAttribP3ui) +#define glVertexAttribP3uiv GLEW_GET_FUN(__glewVertexAttribP3uiv) +#define glVertexAttribP4ui GLEW_GET_FUN(__glewVertexAttribP4ui) +#define glVertexAttribP4uiv GLEW_GET_FUN(__glewVertexAttribP4uiv) +#define glVertexP2ui GLEW_GET_FUN(__glewVertexP2ui) +#define glVertexP2uiv GLEW_GET_FUN(__glewVertexP2uiv) +#define glVertexP3ui GLEW_GET_FUN(__glewVertexP3ui) +#define glVertexP3uiv GLEW_GET_FUN(__glewVertexP3uiv) +#define glVertexP4ui GLEW_GET_FUN(__glewVertexP4ui) +#define glVertexP4uiv GLEW_GET_FUN(__glewVertexP4uiv) + +#define GLEW_ARB_vertex_type_2_10_10_10_rev GLEW_GET_VAR(__GLEW_ARB_vertex_type_2_10_10_10_rev) + +#endif /* GL_ARB_vertex_type_2_10_10_10_rev */ + +/* ------------------------- GL_ARB_viewport_array ------------------------- */ + +#ifndef GL_ARB_viewport_array +#define GL_ARB_viewport_array 1 + +#define GL_DEPTH_RANGE 0x0B70 +#define GL_VIEWPORT 0x0BA2 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_MAX_VIEWPORTS 0x825B +#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C +#define GL_VIEWPORT_BOUNDS_RANGE 0x825D +#define GL_LAYER_PROVOKING_VERTEX 0x825E +#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F +#define GL_UNDEFINED_VERTEX 0x8260 +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F + +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLclampd * v); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLclampd n, GLclampd f); +typedef void (GLAPIENTRY * PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble* data); +typedef void (GLAPIENTRY * PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat* data); +typedef void (GLAPIENTRY * PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint * v); +typedef void (GLAPIENTRY * PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint * v); +typedef void (GLAPIENTRY * PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat * v); +typedef void (GLAPIENTRY * PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); +typedef void (GLAPIENTRY * PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat * v); + +#define glDepthRangeArrayv GLEW_GET_FUN(__glewDepthRangeArrayv) +#define glDepthRangeIndexed GLEW_GET_FUN(__glewDepthRangeIndexed) +#define glGetDoublei_v GLEW_GET_FUN(__glewGetDoublei_v) +#define glGetFloati_v GLEW_GET_FUN(__glewGetFloati_v) +#define glScissorArrayv GLEW_GET_FUN(__glewScissorArrayv) +#define glScissorIndexed GLEW_GET_FUN(__glewScissorIndexed) +#define glScissorIndexedv GLEW_GET_FUN(__glewScissorIndexedv) +#define glViewportArrayv GLEW_GET_FUN(__glewViewportArrayv) +#define glViewportIndexedf GLEW_GET_FUN(__glewViewportIndexedf) +#define glViewportIndexedfv GLEW_GET_FUN(__glewViewportIndexedfv) + +#define GLEW_ARB_viewport_array GLEW_GET_VAR(__GLEW_ARB_viewport_array) + +#endif /* GL_ARB_viewport_array */ + /* --------------------------- GL_ARB_window_pos --------------------------- */ #ifndef GL_ARB_window_pos @@ -3772,6 +6488,19 @@ typedef void (GLAPIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer); #endif /* GL_ATI_map_object_buffer */ +/* ----------------------------- GL_ATI_meminfo ---------------------------- */ + +#ifndef GL_ATI_meminfo +#define GL_ATI_meminfo 1 + +#define GL_VBO_FREE_MEMORY_ATI 0x87FB +#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC +#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD + +#define GLEW_ATI_meminfo GLEW_GET_VAR(__GLEW_ATI_meminfo) + +#endif /* GL_ATI_meminfo */ + /* -------------------------- GL_ATI_pn_triangles -------------------------- */ #ifndef GL_ATI_pn_triangles @@ -3790,8 +6519,8 @@ typedef void (GLAPIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer); typedef void (GLAPIENTRY * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param); typedef void (GLAPIENTRY * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param); -#define glPNTrianglesfATI GLEW_GET_FUN(__glPNTrianglewesfATI) -#define glPNTrianglesiATI GLEW_GET_FUN(__glPNTrianglewesiATI) +#define glPNTrianglesfATI GLEW_GET_FUN(__glewPNTrianglesfATI) +#define glPNTrianglesiATI GLEW_GET_FUN(__glewPNTrianglesiATI) #define GLEW_ATI_pn_triangles GLEW_GET_VAR(__GLEW_ATI_pn_triangles) @@ -4262,6 +6991,9 @@ typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsize #ifndef GL_EXT_compiled_vertex_array #define GL_EXT_compiled_vertex_array 1 +#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8 +#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9 + typedef void (GLAPIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count); typedef void (GLAPIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void); @@ -4386,6 +7118,10 @@ typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint #ifndef GL_EXT_cull_vertex #define GL_EXT_cull_vertex 1 +#define GL_CULL_VERTEX_EXT 0x81AA +#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB +#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC + typedef void (GLAPIENTRY * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble* params); typedef void (GLAPIENTRY * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params); @@ -4412,16 +7148,457 @@ typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zma #endif /* GL_EXT_depth_bounds_test */ +/* ----------------------- GL_EXT_direct_state_access ---------------------- */ + +#ifndef GL_EXT_direct_state_access +#define GL_EXT_direct_state_access 1 + +#define GL_PROGRAM_MATRIX_EXT 0x8E2D +#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E +#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F + +typedef void (GLAPIENTRY * PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture); +typedef GLenum (GLAPIENTRY * PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target); +typedef void (GLAPIENTRY * PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array); +typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array); +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum* bufs); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); +typedef void (GLAPIENTRY * PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target); +typedef void (GLAPIENTRY * PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, void* img); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, void* img); +typedef void (GLAPIENTRY * PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETDOUBLEI_VEXTPROC) (GLenum pname, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFLOATI_VEXTPROC) (GLenum pname, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void* pixels); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, void** params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void* data); +typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, void* string); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid** params); +typedef void (GLAPIENTRY * PFNGLGETPOINTERI_VEXTPROC) (GLenum pname, GLuint index, GLvoid** params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void* pixels); +typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERVEXTPROC) (GLuint vaobj, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLvoid** param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERVEXTPROC) (GLuint vaobj, GLenum pname, GLvoid** param); +typedef GLvoid * (GLAPIENTRY * PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access); +typedef GLvoid * (GLAPIENTRY * PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void (GLAPIENTRY * PFNGLMATRIXFRUSTUMEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum matrixMode); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXORTHOEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f); +typedef void (GLAPIENTRY * PFNGLMATRIXPOPEXTPROC) (GLenum matrixMode); +typedef void (GLAPIENTRY * PFNGLMATRIXPUSHEXTPROC) (GLenum matrixMode); +typedef void (GLAPIENTRY * PFNGLMATRIXROTATEDEXTPROC) (GLenum matrixMode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLMATRIXROTATEFEXTPROC) (GLenum matrixMode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLMATRIXSCALEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLMATRIXSCALEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void* pointer); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* param); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* param); +typedef void (GLAPIENTRY * PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const void* data, GLenum usage); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void* data); +typedef void (GLAPIENTRY * PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const void* string); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat* param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* param); +typedef void (GLAPIENTRY * PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels); +typedef GLboolean (GLAPIENTRY * PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYINDEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); + +#define glBindMultiTextureEXT GLEW_GET_FUN(__glewBindMultiTextureEXT) +#define glCheckNamedFramebufferStatusEXT GLEW_GET_FUN(__glewCheckNamedFramebufferStatusEXT) +#define glClientAttribDefaultEXT GLEW_GET_FUN(__glewClientAttribDefaultEXT) +#define glCompressedMultiTexImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage1DEXT) +#define glCompressedMultiTexImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage2DEXT) +#define glCompressedMultiTexImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage3DEXT) +#define glCompressedMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage1DEXT) +#define glCompressedMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage2DEXT) +#define glCompressedMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage3DEXT) +#define glCompressedTextureImage1DEXT GLEW_GET_FUN(__glewCompressedTextureImage1DEXT) +#define glCompressedTextureImage2DEXT GLEW_GET_FUN(__glewCompressedTextureImage2DEXT) +#define glCompressedTextureImage3DEXT GLEW_GET_FUN(__glewCompressedTextureImage3DEXT) +#define glCompressedTextureSubImage1DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage1DEXT) +#define glCompressedTextureSubImage2DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage2DEXT) +#define glCompressedTextureSubImage3DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage3DEXT) +#define glCopyMultiTexImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexImage1DEXT) +#define glCopyMultiTexImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexImage2DEXT) +#define glCopyMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage1DEXT) +#define glCopyMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage2DEXT) +#define glCopyMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage3DEXT) +#define glCopyTextureImage1DEXT GLEW_GET_FUN(__glewCopyTextureImage1DEXT) +#define glCopyTextureImage2DEXT GLEW_GET_FUN(__glewCopyTextureImage2DEXT) +#define glCopyTextureSubImage1DEXT GLEW_GET_FUN(__glewCopyTextureSubImage1DEXT) +#define glCopyTextureSubImage2DEXT GLEW_GET_FUN(__glewCopyTextureSubImage2DEXT) +#define glCopyTextureSubImage3DEXT GLEW_GET_FUN(__glewCopyTextureSubImage3DEXT) +#define glDisableClientStateIndexedEXT GLEW_GET_FUN(__glewDisableClientStateIndexedEXT) +#define glDisableClientStateiEXT GLEW_GET_FUN(__glewDisableClientStateiEXT) +#define glDisableVertexArrayAttribEXT GLEW_GET_FUN(__glewDisableVertexArrayAttribEXT) +#define glDisableVertexArrayEXT GLEW_GET_FUN(__glewDisableVertexArrayEXT) +#define glEnableClientStateIndexedEXT GLEW_GET_FUN(__glewEnableClientStateIndexedEXT) +#define glEnableClientStateiEXT GLEW_GET_FUN(__glewEnableClientStateiEXT) +#define glEnableVertexArrayAttribEXT GLEW_GET_FUN(__glewEnableVertexArrayAttribEXT) +#define glEnableVertexArrayEXT GLEW_GET_FUN(__glewEnableVertexArrayEXT) +#define glFlushMappedNamedBufferRangeEXT GLEW_GET_FUN(__glewFlushMappedNamedBufferRangeEXT) +#define glFramebufferDrawBufferEXT GLEW_GET_FUN(__glewFramebufferDrawBufferEXT) +#define glFramebufferDrawBuffersEXT GLEW_GET_FUN(__glewFramebufferDrawBuffersEXT) +#define glFramebufferReadBufferEXT GLEW_GET_FUN(__glewFramebufferReadBufferEXT) +#define glGenerateMultiTexMipmapEXT GLEW_GET_FUN(__glewGenerateMultiTexMipmapEXT) +#define glGenerateTextureMipmapEXT GLEW_GET_FUN(__glewGenerateTextureMipmapEXT) +#define glGetCompressedMultiTexImageEXT GLEW_GET_FUN(__glewGetCompressedMultiTexImageEXT) +#define glGetCompressedTextureImageEXT GLEW_GET_FUN(__glewGetCompressedTextureImageEXT) +#define glGetDoubleIndexedvEXT GLEW_GET_FUN(__glewGetDoubleIndexedvEXT) +#define glGetDoublei_vEXT GLEW_GET_FUN(__glewGetDoublei_vEXT) +#define glGetFloatIndexedvEXT GLEW_GET_FUN(__glewGetFloatIndexedvEXT) +#define glGetFloati_vEXT GLEW_GET_FUN(__glewGetFloati_vEXT) +#define glGetFramebufferParameterivEXT GLEW_GET_FUN(__glewGetFramebufferParameterivEXT) +#define glGetMultiTexEnvfvEXT GLEW_GET_FUN(__glewGetMultiTexEnvfvEXT) +#define glGetMultiTexEnvivEXT GLEW_GET_FUN(__glewGetMultiTexEnvivEXT) +#define glGetMultiTexGendvEXT GLEW_GET_FUN(__glewGetMultiTexGendvEXT) +#define glGetMultiTexGenfvEXT GLEW_GET_FUN(__glewGetMultiTexGenfvEXT) +#define glGetMultiTexGenivEXT GLEW_GET_FUN(__glewGetMultiTexGenivEXT) +#define glGetMultiTexImageEXT GLEW_GET_FUN(__glewGetMultiTexImageEXT) +#define glGetMultiTexLevelParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterfvEXT) +#define glGetMultiTexLevelParameterivEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterivEXT) +#define glGetMultiTexParameterIivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIivEXT) +#define glGetMultiTexParameterIuivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIuivEXT) +#define glGetMultiTexParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexParameterfvEXT) +#define glGetMultiTexParameterivEXT GLEW_GET_FUN(__glewGetMultiTexParameterivEXT) +#define glGetNamedBufferParameterivEXT GLEW_GET_FUN(__glewGetNamedBufferParameterivEXT) +#define glGetNamedBufferPointervEXT GLEW_GET_FUN(__glewGetNamedBufferPointervEXT) +#define glGetNamedBufferSubDataEXT GLEW_GET_FUN(__glewGetNamedBufferSubDataEXT) +#define glGetNamedFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetNamedFramebufferAttachmentParameterivEXT) +#define glGetNamedProgramLocalParameterIivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIivEXT) +#define glGetNamedProgramLocalParameterIuivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIuivEXT) +#define glGetNamedProgramLocalParameterdvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterdvEXT) +#define glGetNamedProgramLocalParameterfvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterfvEXT) +#define glGetNamedProgramStringEXT GLEW_GET_FUN(__glewGetNamedProgramStringEXT) +#define glGetNamedProgramivEXT GLEW_GET_FUN(__glewGetNamedProgramivEXT) +#define glGetNamedRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetNamedRenderbufferParameterivEXT) +#define glGetPointerIndexedvEXT GLEW_GET_FUN(__glewGetPointerIndexedvEXT) +#define glGetPointeri_vEXT GLEW_GET_FUN(__glewGetPointeri_vEXT) +#define glGetTextureImageEXT GLEW_GET_FUN(__glewGetTextureImageEXT) +#define glGetTextureLevelParameterfvEXT GLEW_GET_FUN(__glewGetTextureLevelParameterfvEXT) +#define glGetTextureLevelParameterivEXT GLEW_GET_FUN(__glewGetTextureLevelParameterivEXT) +#define glGetTextureParameterIivEXT GLEW_GET_FUN(__glewGetTextureParameterIivEXT) +#define glGetTextureParameterIuivEXT GLEW_GET_FUN(__glewGetTextureParameterIuivEXT) +#define glGetTextureParameterfvEXT GLEW_GET_FUN(__glewGetTextureParameterfvEXT) +#define glGetTextureParameterivEXT GLEW_GET_FUN(__glewGetTextureParameterivEXT) +#define glGetVertexArrayIntegeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayIntegeri_vEXT) +#define glGetVertexArrayIntegervEXT GLEW_GET_FUN(__glewGetVertexArrayIntegervEXT) +#define glGetVertexArrayPointeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayPointeri_vEXT) +#define glGetVertexArrayPointervEXT GLEW_GET_FUN(__glewGetVertexArrayPointervEXT) +#define glMapNamedBufferEXT GLEW_GET_FUN(__glewMapNamedBufferEXT) +#define glMapNamedBufferRangeEXT GLEW_GET_FUN(__glewMapNamedBufferRangeEXT) +#define glMatrixFrustumEXT GLEW_GET_FUN(__glewMatrixFrustumEXT) +#define glMatrixLoadIdentityEXT GLEW_GET_FUN(__glewMatrixLoadIdentityEXT) +#define glMatrixLoadTransposedEXT GLEW_GET_FUN(__glewMatrixLoadTransposedEXT) +#define glMatrixLoadTransposefEXT GLEW_GET_FUN(__glewMatrixLoadTransposefEXT) +#define glMatrixLoaddEXT GLEW_GET_FUN(__glewMatrixLoaddEXT) +#define glMatrixLoadfEXT GLEW_GET_FUN(__glewMatrixLoadfEXT) +#define glMatrixMultTransposedEXT GLEW_GET_FUN(__glewMatrixMultTransposedEXT) +#define glMatrixMultTransposefEXT GLEW_GET_FUN(__glewMatrixMultTransposefEXT) +#define glMatrixMultdEXT GLEW_GET_FUN(__glewMatrixMultdEXT) +#define glMatrixMultfEXT GLEW_GET_FUN(__glewMatrixMultfEXT) +#define glMatrixOrthoEXT GLEW_GET_FUN(__glewMatrixOrthoEXT) +#define glMatrixPopEXT GLEW_GET_FUN(__glewMatrixPopEXT) +#define glMatrixPushEXT GLEW_GET_FUN(__glewMatrixPushEXT) +#define glMatrixRotatedEXT GLEW_GET_FUN(__glewMatrixRotatedEXT) +#define glMatrixRotatefEXT GLEW_GET_FUN(__glewMatrixRotatefEXT) +#define glMatrixScaledEXT GLEW_GET_FUN(__glewMatrixScaledEXT) +#define glMatrixScalefEXT GLEW_GET_FUN(__glewMatrixScalefEXT) +#define glMatrixTranslatedEXT GLEW_GET_FUN(__glewMatrixTranslatedEXT) +#define glMatrixTranslatefEXT GLEW_GET_FUN(__glewMatrixTranslatefEXT) +#define glMultiTexBufferEXT GLEW_GET_FUN(__glewMultiTexBufferEXT) +#define glMultiTexCoordPointerEXT GLEW_GET_FUN(__glewMultiTexCoordPointerEXT) +#define glMultiTexEnvfEXT GLEW_GET_FUN(__glewMultiTexEnvfEXT) +#define glMultiTexEnvfvEXT GLEW_GET_FUN(__glewMultiTexEnvfvEXT) +#define glMultiTexEnviEXT GLEW_GET_FUN(__glewMultiTexEnviEXT) +#define glMultiTexEnvivEXT GLEW_GET_FUN(__glewMultiTexEnvivEXT) +#define glMultiTexGendEXT GLEW_GET_FUN(__glewMultiTexGendEXT) +#define glMultiTexGendvEXT GLEW_GET_FUN(__glewMultiTexGendvEXT) +#define glMultiTexGenfEXT GLEW_GET_FUN(__glewMultiTexGenfEXT) +#define glMultiTexGenfvEXT GLEW_GET_FUN(__glewMultiTexGenfvEXT) +#define glMultiTexGeniEXT GLEW_GET_FUN(__glewMultiTexGeniEXT) +#define glMultiTexGenivEXT GLEW_GET_FUN(__glewMultiTexGenivEXT) +#define glMultiTexImage1DEXT GLEW_GET_FUN(__glewMultiTexImage1DEXT) +#define glMultiTexImage2DEXT GLEW_GET_FUN(__glewMultiTexImage2DEXT) +#define glMultiTexImage3DEXT GLEW_GET_FUN(__glewMultiTexImage3DEXT) +#define glMultiTexParameterIivEXT GLEW_GET_FUN(__glewMultiTexParameterIivEXT) +#define glMultiTexParameterIuivEXT GLEW_GET_FUN(__glewMultiTexParameterIuivEXT) +#define glMultiTexParameterfEXT GLEW_GET_FUN(__glewMultiTexParameterfEXT) +#define glMultiTexParameterfvEXT GLEW_GET_FUN(__glewMultiTexParameterfvEXT) +#define glMultiTexParameteriEXT GLEW_GET_FUN(__glewMultiTexParameteriEXT) +#define glMultiTexParameterivEXT GLEW_GET_FUN(__glewMultiTexParameterivEXT) +#define glMultiTexRenderbufferEXT GLEW_GET_FUN(__glewMultiTexRenderbufferEXT) +#define glMultiTexSubImage1DEXT GLEW_GET_FUN(__glewMultiTexSubImage1DEXT) +#define glMultiTexSubImage2DEXT GLEW_GET_FUN(__glewMultiTexSubImage2DEXT) +#define glMultiTexSubImage3DEXT GLEW_GET_FUN(__glewMultiTexSubImage3DEXT) +#define glNamedBufferDataEXT GLEW_GET_FUN(__glewNamedBufferDataEXT) +#define glNamedBufferSubDataEXT GLEW_GET_FUN(__glewNamedBufferSubDataEXT) +#define glNamedCopyBufferSubDataEXT GLEW_GET_FUN(__glewNamedCopyBufferSubDataEXT) +#define glNamedFramebufferRenderbufferEXT GLEW_GET_FUN(__glewNamedFramebufferRenderbufferEXT) +#define glNamedFramebufferTexture1DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture1DEXT) +#define glNamedFramebufferTexture2DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture2DEXT) +#define glNamedFramebufferTexture3DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture3DEXT) +#define glNamedFramebufferTextureEXT GLEW_GET_FUN(__glewNamedFramebufferTextureEXT) +#define glNamedFramebufferTextureFaceEXT GLEW_GET_FUN(__glewNamedFramebufferTextureFaceEXT) +#define glNamedFramebufferTextureLayerEXT GLEW_GET_FUN(__glewNamedFramebufferTextureLayerEXT) +#define glNamedProgramLocalParameter4dEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dEXT) +#define glNamedProgramLocalParameter4dvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dvEXT) +#define glNamedProgramLocalParameter4fEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fEXT) +#define glNamedProgramLocalParameter4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fvEXT) +#define glNamedProgramLocalParameterI4iEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4iEXT) +#define glNamedProgramLocalParameterI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4ivEXT) +#define glNamedProgramLocalParameterI4uiEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uiEXT) +#define glNamedProgramLocalParameterI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uivEXT) +#define glNamedProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameters4fvEXT) +#define glNamedProgramLocalParametersI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4ivEXT) +#define glNamedProgramLocalParametersI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4uivEXT) +#define glNamedProgramStringEXT GLEW_GET_FUN(__glewNamedProgramStringEXT) +#define glNamedRenderbufferStorageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageEXT) +#define glNamedRenderbufferStorageMultisampleCoverageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleCoverageEXT) +#define glNamedRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleEXT) +#define glProgramUniform1fEXT GLEW_GET_FUN(__glewProgramUniform1fEXT) +#define glProgramUniform1fvEXT GLEW_GET_FUN(__glewProgramUniform1fvEXT) +#define glProgramUniform1iEXT GLEW_GET_FUN(__glewProgramUniform1iEXT) +#define glProgramUniform1ivEXT GLEW_GET_FUN(__glewProgramUniform1ivEXT) +#define glProgramUniform1uiEXT GLEW_GET_FUN(__glewProgramUniform1uiEXT) +#define glProgramUniform1uivEXT GLEW_GET_FUN(__glewProgramUniform1uivEXT) +#define glProgramUniform2fEXT GLEW_GET_FUN(__glewProgramUniform2fEXT) +#define glProgramUniform2fvEXT GLEW_GET_FUN(__glewProgramUniform2fvEXT) +#define glProgramUniform2iEXT GLEW_GET_FUN(__glewProgramUniform2iEXT) +#define glProgramUniform2ivEXT GLEW_GET_FUN(__glewProgramUniform2ivEXT) +#define glProgramUniform2uiEXT GLEW_GET_FUN(__glewProgramUniform2uiEXT) +#define glProgramUniform2uivEXT GLEW_GET_FUN(__glewProgramUniform2uivEXT) +#define glProgramUniform3fEXT GLEW_GET_FUN(__glewProgramUniform3fEXT) +#define glProgramUniform3fvEXT GLEW_GET_FUN(__glewProgramUniform3fvEXT) +#define glProgramUniform3iEXT GLEW_GET_FUN(__glewProgramUniform3iEXT) +#define glProgramUniform3ivEXT GLEW_GET_FUN(__glewProgramUniform3ivEXT) +#define glProgramUniform3uiEXT GLEW_GET_FUN(__glewProgramUniform3uiEXT) +#define glProgramUniform3uivEXT GLEW_GET_FUN(__glewProgramUniform3uivEXT) +#define glProgramUniform4fEXT GLEW_GET_FUN(__glewProgramUniform4fEXT) +#define glProgramUniform4fvEXT GLEW_GET_FUN(__glewProgramUniform4fvEXT) +#define glProgramUniform4iEXT GLEW_GET_FUN(__glewProgramUniform4iEXT) +#define glProgramUniform4ivEXT GLEW_GET_FUN(__glewProgramUniform4ivEXT) +#define glProgramUniform4uiEXT GLEW_GET_FUN(__glewProgramUniform4uiEXT) +#define glProgramUniform4uivEXT GLEW_GET_FUN(__glewProgramUniform4uivEXT) +#define glProgramUniformMatrix2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2fvEXT) +#define glProgramUniformMatrix2x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x3fvEXT) +#define glProgramUniformMatrix2x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x4fvEXT) +#define glProgramUniformMatrix3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3fvEXT) +#define glProgramUniformMatrix3x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x2fvEXT) +#define glProgramUniformMatrix3x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x4fvEXT) +#define glProgramUniformMatrix4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4fvEXT) +#define glProgramUniformMatrix4x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x2fvEXT) +#define glProgramUniformMatrix4x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x3fvEXT) +#define glPushClientAttribDefaultEXT GLEW_GET_FUN(__glewPushClientAttribDefaultEXT) +#define glTextureBufferEXT GLEW_GET_FUN(__glewTextureBufferEXT) +#define glTextureImage1DEXT GLEW_GET_FUN(__glewTextureImage1DEXT) +#define glTextureImage2DEXT GLEW_GET_FUN(__glewTextureImage2DEXT) +#define glTextureImage3DEXT GLEW_GET_FUN(__glewTextureImage3DEXT) +#define glTextureParameterIivEXT GLEW_GET_FUN(__glewTextureParameterIivEXT) +#define glTextureParameterIuivEXT GLEW_GET_FUN(__glewTextureParameterIuivEXT) +#define glTextureParameterfEXT GLEW_GET_FUN(__glewTextureParameterfEXT) +#define glTextureParameterfvEXT GLEW_GET_FUN(__glewTextureParameterfvEXT) +#define glTextureParameteriEXT GLEW_GET_FUN(__glewTextureParameteriEXT) +#define glTextureParameterivEXT GLEW_GET_FUN(__glewTextureParameterivEXT) +#define glTextureRenderbufferEXT GLEW_GET_FUN(__glewTextureRenderbufferEXT) +#define glTextureSubImage1DEXT GLEW_GET_FUN(__glewTextureSubImage1DEXT) +#define glTextureSubImage2DEXT GLEW_GET_FUN(__glewTextureSubImage2DEXT) +#define glTextureSubImage3DEXT GLEW_GET_FUN(__glewTextureSubImage3DEXT) +#define glUnmapNamedBufferEXT GLEW_GET_FUN(__glewUnmapNamedBufferEXT) +#define glVertexArrayColorOffsetEXT GLEW_GET_FUN(__glewVertexArrayColorOffsetEXT) +#define glVertexArrayEdgeFlagOffsetEXT GLEW_GET_FUN(__glewVertexArrayEdgeFlagOffsetEXT) +#define glVertexArrayFogCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayFogCoordOffsetEXT) +#define glVertexArrayIndexOffsetEXT GLEW_GET_FUN(__glewVertexArrayIndexOffsetEXT) +#define glVertexArrayMultiTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayMultiTexCoordOffsetEXT) +#define glVertexArrayNormalOffsetEXT GLEW_GET_FUN(__glewVertexArrayNormalOffsetEXT) +#define glVertexArraySecondaryColorOffsetEXT GLEW_GET_FUN(__glewVertexArraySecondaryColorOffsetEXT) +#define glVertexArrayTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayTexCoordOffsetEXT) +#define glVertexArrayVertexAttribIOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribIOffsetEXT) +#define glVertexArrayVertexAttribOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribOffsetEXT) +#define glVertexArrayVertexOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexOffsetEXT) + +#define GLEW_EXT_direct_state_access GLEW_GET_VAR(__GLEW_EXT_direct_state_access) + +#endif /* GL_EXT_direct_state_access */ + /* -------------------------- GL_EXT_draw_buffers2 ------------------------- */ #ifndef GL_EXT_draw_buffers2 #define GL_EXT_draw_buffers2 1 -typedef void (GLAPIENTRY * PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +typedef void (GLAPIENTRY * PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); typedef void (GLAPIENTRY * PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index); typedef void (GLAPIENTRY * PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index); -typedef void (GLAPIENTRY * PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum target, GLuint index, GLboolean *data); -typedef void (GLAPIENTRY * PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLint *data); +typedef void (GLAPIENTRY * PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum value, GLuint index, GLboolean* data); +typedef void (GLAPIENTRY * PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum value, GLuint index, GLint* data); typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index); #define glColorMaskIndexedEXT GLEW_GET_FUN(__glewColorMaskIndexedEXT) @@ -4455,8 +7632,8 @@ typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsi #ifndef GL_EXT_draw_range_elements #define GL_EXT_draw_range_elements 1 -#define GL_MAX_ELEMENTS_VERTICES 0x80E8 -#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8 +#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9 typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); @@ -4593,6 +7770,18 @@ typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum t #endif /* GL_EXT_framebuffer_multisample */ +/* --------------- GL_EXT_framebuffer_multisample_blit_scaled -------------- */ + +#ifndef GL_EXT_framebuffer_multisample_blit_scaled +#define GL_EXT_framebuffer_multisample_blit_scaled 1 + +#define GL_SCALED_RESOLVE_FASTEST_EXT 0x90BA +#define GL_SCALED_RESOLVE_NICEST_EXT 0x90BB + +#define GLEW_EXT_framebuffer_multisample_blit_scaled GLEW_GET_VAR(__GLEW_EXT_framebuffer_multisample_blit_scaled) + +#endif /* GL_EXT_framebuffer_multisample_blit_scaled */ + /* ----------------------- GL_EXT_framebuffer_object ----------------------- */ #ifndef GL_EXT_framebuffer_object @@ -4730,12 +7919,10 @@ typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLen typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); #define glFramebufferTextureEXT GLEW_GET_FUN(__glewFramebufferTextureEXT) #define glFramebufferTextureFaceEXT GLEW_GET_FUN(__glewFramebufferTextureFaceEXT) -#define glFramebufferTextureLayerEXT GLEW_GET_FUN(__glewFramebufferTextureLayerEXT) #define glProgramParameteriEXT GLEW_GET_FUN(__glewProgramParameteriEXT) #define GLEW_EXT_geometry_shader4 GLEW_GET_VAR(__GLEW_EXT_geometry_shader4) @@ -4994,7 +8181,7 @@ typedef void (GLAPIENTRY * PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mod #ifndef GL_EXT_multi_draw_arrays #define GL_EXT_multi_draw_arrays 1 -typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint* first, GLsizei *count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint* first, const GLsizei *count, GLsizei primcount); typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, GLsizei* count, GLenum type, const GLvoid **indices, GLsizei primcount); #define glMultiDrawArraysEXT GLEW_GET_FUN(__glewMultiDrawArraysEXT) @@ -5189,7 +8376,7 @@ typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target #define GL_DISTANCE_ATTENUATION_EXT 0x8129 typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat* params); #define glPointParameterfEXT GLEW_GET_FUN(__glewPointParameterfEXT) #define glPointParameterfvEXT GLEW_GET_FUN(__glewPointParameterfvEXT) @@ -5215,11 +8402,31 @@ typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat b #endif /* GL_EXT_polygon_offset */ +/* ------------------------ GL_EXT_provoking_vertex ------------------------ */ + +#ifndef GL_EXT_provoking_vertex +#define GL_EXT_provoking_vertex 1 + +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D +#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E +#define GL_PROVOKING_VERTEX_EXT 0x8E4F + +typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode); + +#define glProvokingVertexEXT GLEW_GET_FUN(__glewProvokingVertexEXT) + +#define GLEW_EXT_provoking_vertex GLEW_GET_VAR(__GLEW_EXT_provoking_vertex) + +#endif /* GL_EXT_provoking_vertex */ + /* ------------------------- GL_EXT_rescale_normal ------------------------- */ #ifndef GL_EXT_rescale_normal #define GL_EXT_rescale_normal 1 +#define GL_RESCALE_NORMAL_EXT 0x803A + #define GLEW_EXT_rescale_normal GLEW_GET_VAR(__GLEW_EXT_rescale_normal) #endif /* GL_EXT_rescale_normal */ @@ -5268,7 +8475,7 @@ typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint gr typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue); typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); #define glSecondaryColor3bEXT GLEW_GET_FUN(__glewSecondaryColor3bEXT) #define glSecondaryColor3bvEXT GLEW_GET_FUN(__glewSecondaryColor3bvEXT) @@ -5292,6 +8499,25 @@ typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenu #endif /* GL_EXT_secondary_color */ +/* --------------------- GL_EXT_separate_shader_objects -------------------- */ + +#ifndef GL_EXT_separate_shader_objects +#define GL_EXT_separate_shader_objects 1 + +#define GL_ACTIVE_PROGRAM_EXT 0x8B8D + +typedef void (GLAPIENTRY * PFNGLACTIVEPROGRAMEXTPROC) (GLuint program); +typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const char* string); +typedef void (GLAPIENTRY * PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program); + +#define glActiveProgramEXT GLEW_GET_FUN(__glewActiveProgramEXT) +#define glCreateShaderProgramEXT GLEW_GET_FUN(__glewCreateShaderProgramEXT) +#define glUseShaderProgramEXT GLEW_GET_FUN(__glewUseShaderProgramEXT) + +#define GLEW_EXT_separate_shader_objects GLEW_GET_VAR(__GLEW_EXT_separate_shader_objects) + +#endif /* GL_EXT_separate_shader_objects */ + /* --------------------- GL_EXT_separate_specular_color -------------------- */ #ifndef GL_EXT_separate_specular_color @@ -5305,6 +8531,77 @@ typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenu #endif /* GL_EXT_separate_specular_color */ +/* --------------------- GL_EXT_shader_image_load_store -------------------- */ + +#ifndef GL_EXT_shader_image_load_store +#define GL_EXT_shader_image_load_store 1 + +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001 +#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002 +#define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004 +#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008 +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020 +#define GL_COMMAND_BARRIER_BIT_EXT 0x00000040 +#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080 +#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100 +#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200 +#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400 +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800 +#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000 +#define GL_MAX_IMAGE_UNITS_EXT 0x8F38 +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39 +#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A +#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B +#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C +#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D +#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E +#define GL_IMAGE_1D_EXT 0x904C +#define GL_IMAGE_2D_EXT 0x904D +#define GL_IMAGE_3D_EXT 0x904E +#define GL_IMAGE_2D_RECT_EXT 0x904F +#define GL_IMAGE_CUBE_EXT 0x9050 +#define GL_IMAGE_BUFFER_EXT 0x9051 +#define GL_IMAGE_1D_ARRAY_EXT 0x9052 +#define GL_IMAGE_2D_ARRAY_EXT 0x9053 +#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054 +#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056 +#define GL_INT_IMAGE_1D_EXT 0x9057 +#define GL_INT_IMAGE_2D_EXT 0x9058 +#define GL_INT_IMAGE_3D_EXT 0x9059 +#define GL_INT_IMAGE_2D_RECT_EXT 0x905A +#define GL_INT_IMAGE_CUBE_EXT 0x905B +#define GL_INT_IMAGE_BUFFER_EXT 0x905C +#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D +#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E +#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F +#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061 +#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063 +#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066 +#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C +#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D +#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E +#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format); +typedef void (GLAPIENTRY * PFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers); + +#define glBindImageTextureEXT GLEW_GET_FUN(__glewBindImageTextureEXT) +#define glMemoryBarrierEXT GLEW_GET_FUN(__glewMemoryBarrierEXT) + +#define GLEW_EXT_shader_image_load_store GLEW_GET_VAR(__GLEW_EXT_shader_image_load_store) + +#endif /* GL_EXT_shader_image_load_store */ + /* -------------------------- GL_EXT_shadow_funcs -------------------------- */ #ifndef GL_EXT_shadow_funcs @@ -5471,6 +8768,10 @@ typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, #define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C #define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); + +#define glFramebufferTextureLayerEXT GLEW_GET_FUN(__glewFramebufferTextureLayerEXT) + #define GLEW_EXT_texture_array GLEW_GET_VAR(__GLEW_EXT_texture_array) #endif /* GL_EXT_texture_array */ @@ -5848,6 +9149,19 @@ typedef void (GLAPIENTRY * PFNGLTEXTURENORMALEXTPROC) (GLenum mode); #endif /* GL_EXT_texture_sRGB */ +/* ----------------------- GL_EXT_texture_sRGB_decode ---------------------- */ + +#ifndef GL_EXT_texture_sRGB_decode +#define GL_EXT_texture_sRGB_decode 1 + +#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 +#define GL_DECODE_EXT 0x8A49 +#define GL_SKIP_DECODE_EXT 0x8A4A + +#define GLEW_EXT_texture_sRGB_decode GLEW_GET_VAR(__GLEW_EXT_texture_sRGB_decode) + +#endif /* GL_EXT_texture_sRGB_decode */ + /* --------------------- GL_EXT_texture_shared_exponent -------------------- */ #ifndef GL_EXT_texture_shared_exponent @@ -5861,6 +9175,56 @@ typedef void (GLAPIENTRY * PFNGLTEXTURENORMALEXTPROC) (GLenum mode); #endif /* GL_EXT_texture_shared_exponent */ +/* -------------------------- GL_EXT_texture_snorm ------------------------- */ + +#ifndef GL_EXT_texture_snorm +#define GL_EXT_texture_snorm 1 + +#define GL_RED_SNORM 0x8F90 +#define GL_RG_SNORM 0x8F91 +#define GL_RGB_SNORM 0x8F92 +#define GL_RGBA_SNORM 0x8F93 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_ALPHA_SNORM 0x9010 +#define GL_LUMINANCE_SNORM 0x9011 +#define GL_LUMINANCE_ALPHA_SNORM 0x9012 +#define GL_INTENSITY_SNORM 0x9013 +#define GL_ALPHA8_SNORM 0x9014 +#define GL_LUMINANCE8_SNORM 0x9015 +#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016 +#define GL_INTENSITY8_SNORM 0x9017 +#define GL_ALPHA16_SNORM 0x9018 +#define GL_LUMINANCE16_SNORM 0x9019 +#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A +#define GL_INTENSITY16_SNORM 0x901B + +#define GLEW_EXT_texture_snorm GLEW_GET_VAR(__GLEW_EXT_texture_snorm) + +#endif /* GL_EXT_texture_snorm */ + +/* ------------------------- GL_EXT_texture_swizzle ------------------------ */ + +#ifndef GL_EXT_texture_swizzle +#define GL_EXT_texture_swizzle 1 + +#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42 +#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43 +#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44 +#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46 + +#define GLEW_EXT_texture_swizzle GLEW_GET_VAR(__GLEW_EXT_texture_swizzle) + +#endif /* GL_EXT_texture_swizzle */ + /* --------------------------- GL_EXT_timer_query -------------------------- */ #ifndef GL_EXT_timer_query @@ -5878,6 +9242,47 @@ typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum p #endif /* GL_EXT_timer_query */ +/* ----------------------- GL_EXT_transform_feedback ----------------------- */ + +#ifndef GL_EXT_transform_feedback +#define GL_EXT_transform_feedback 1 + +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85 +#define GL_PRIMITIVES_GENERATED_EXT 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88 +#define GL_RASTERIZER_DISCARD_EXT 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B +#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C +#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F + +typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei *size, GLenum *type, char *name); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); + +#define glBeginTransformFeedbackEXT GLEW_GET_FUN(__glewBeginTransformFeedbackEXT) +#define glBindBufferBaseEXT GLEW_GET_FUN(__glewBindBufferBaseEXT) +#define glBindBufferOffsetEXT GLEW_GET_FUN(__glewBindBufferOffsetEXT) +#define glBindBufferRangeEXT GLEW_GET_FUN(__glewBindBufferRangeEXT) +#define glEndTransformFeedbackEXT GLEW_GET_FUN(__glewEndTransformFeedbackEXT) +#define glGetTransformFeedbackVaryingEXT GLEW_GET_FUN(__glewGetTransformFeedbackVaryingEXT) +#define glTransformFeedbackVaryingsEXT GLEW_GET_FUN(__glewTransformFeedbackVaryingsEXT) + +#define GLEW_EXT_transform_feedback GLEW_GET_VAR(__GLEW_EXT_transform_feedback) + +#endif /* GL_EXT_transform_feedback */ + /* -------------------------- GL_EXT_vertex_array -------------------------- */ #ifndef GL_EXT_vertex_array @@ -5921,7 +9326,6 @@ typedef void (GLAPIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i); typedef void (GLAPIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer); typedef void (GLAPIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count); typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean* pointer); -typedef void (GLAPIENTRY * PFNGLGETPOINTERVEXTPROC) (GLenum pname, void** params); typedef void (GLAPIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void* pointer); typedef void (GLAPIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void* pointer); typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer); @@ -5931,7 +9335,6 @@ typedef void (GLAPIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, #define glColorPointerEXT GLEW_GET_FUN(__glewColorPointerEXT) #define glDrawArraysEXT GLEW_GET_FUN(__glewDrawArraysEXT) #define glEdgeFlagPointerEXT GLEW_GET_FUN(__glewEdgeFlagPointerEXT) -#define glGetPointervEXT GLEW_GET_FUN(__glewGetPointervEXT) #define glIndexPointerEXT GLEW_GET_FUN(__glewIndexPointerEXT) #define glNormalPointerEXT GLEW_GET_FUN(__glewNormalPointerEXT) #define glTexCoordPointerEXT GLEW_GET_FUN(__glewTexCoordPointerEXT) @@ -5941,6 +9344,63 @@ typedef void (GLAPIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, #endif /* GL_EXT_vertex_array */ +/* ------------------------ GL_EXT_vertex_array_bgra ----------------------- */ + +#ifndef GL_EXT_vertex_array_bgra +#define GL_EXT_vertex_array_bgra 1 + +#define GL_BGRA 0x80E1 + +#define GLEW_EXT_vertex_array_bgra GLEW_GET_VAR(__GLEW_EXT_vertex_array_bgra) + +#endif /* GL_EXT_vertex_array_bgra */ + +/* ----------------------- GL_EXT_vertex_attrib_64bit ---------------------- */ + +#ifndef GL_EXT_vertex_attrib_64bit +#define GL_EXT_vertex_attrib_64bit 1 + +#define GL_DOUBLE_MAT2_EXT 0x8F46 +#define GL_DOUBLE_MAT3_EXT 0x8F47 +#define GL_DOUBLE_MAT4_EXT 0x8F48 +#define GL_DOUBLE_MAT2x3_EXT 0x8F49 +#define GL_DOUBLE_MAT2x4_EXT 0x8F4A +#define GL_DOUBLE_MAT3x2_EXT 0x8F4B +#define GL_DOUBLE_MAT3x4_EXT 0x8F4C +#define GL_DOUBLE_MAT4x2_EXT 0x8F4D +#define GL_DOUBLE_MAT4x3_EXT 0x8F4E +#define GL_DOUBLE_VEC2_EXT 0x8FFC +#define GL_DOUBLE_VEC3_EXT 0x8FFD +#define GL_DOUBLE_VEC4_EXT 0x8FFE + +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer); + +#define glGetVertexAttribLdvEXT GLEW_GET_FUN(__glewGetVertexAttribLdvEXT) +#define glVertexArrayVertexAttribLOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribLOffsetEXT) +#define glVertexAttribL1dEXT GLEW_GET_FUN(__glewVertexAttribL1dEXT) +#define glVertexAttribL1dvEXT GLEW_GET_FUN(__glewVertexAttribL1dvEXT) +#define glVertexAttribL2dEXT GLEW_GET_FUN(__glewVertexAttribL2dEXT) +#define glVertexAttribL2dvEXT GLEW_GET_FUN(__glewVertexAttribL2dvEXT) +#define glVertexAttribL3dEXT GLEW_GET_FUN(__glewVertexAttribL3dEXT) +#define glVertexAttribL3dvEXT GLEW_GET_FUN(__glewVertexAttribL3dvEXT) +#define glVertexAttribL4dEXT GLEW_GET_FUN(__glewVertexAttribL4dEXT) +#define glVertexAttribL4dvEXT GLEW_GET_FUN(__glewVertexAttribL4dvEXT) +#define glVertexAttribLPointerEXT GLEW_GET_FUN(__glewVertexAttribLPointerEXT) + +#define GLEW_EXT_vertex_attrib_64bit GLEW_GET_VAR(__GLEW_EXT_vertex_attrib_64bit) + +#endif /* GL_EXT_vertex_attrib_64bit */ + /* -------------------------- GL_EXT_vertex_shader ------------------------- */ #ifndef GL_EXT_vertex_shader @@ -6178,6 +9638,34 @@ typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFVEXTPROC) (GLfloat* weight); #endif /* GL_EXT_vertex_weighting */ +/* ------------------------- GL_EXT_x11_sync_object ------------------------ */ + +#ifndef GL_EXT_x11_sync_object +#define GL_EXT_x11_sync_object 1 + +#define GL_SYNC_X11_FENCE_EXT 0x90E1 + +typedef GLsync (GLAPIENTRY * PFNGLIMPORTSYNCEXTPROC) (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags); + +#define glImportSyncEXT GLEW_GET_FUN(__glewImportSyncEXT) + +#define GLEW_EXT_x11_sync_object GLEW_GET_VAR(__GLEW_EXT_x11_sync_object) + +#endif /* GL_EXT_x11_sync_object */ + +/* ---------------------- GL_GREMEDY_frame_terminator ---------------------- */ + +#ifndef GL_GREMEDY_frame_terminator +#define GL_GREMEDY_frame_terminator 1 + +typedef void (GLAPIENTRY * PFNGLFRAMETERMINATORGREMEDYPROC) (void); + +#define glFrameTerminatorGREMEDY GLEW_GET_FUN(__glewFrameTerminatorGREMEDY) + +#define GLEW_GREMEDY_frame_terminator GLEW_GET_VAR(__GLEW_GREMEDY_frame_terminator) + +#endif /* GL_GREMEDY_frame_terminator */ + /* ------------------------ GL_GREMEDY_string_marker ----------------------- */ #ifndef GL_GREMEDY_string_marker @@ -6427,17 +9915,17 @@ typedef void (GLAPIENTRY * PFNGLTEXSCISSORINTELPROC) (GLenum target, GLclampf tl #define GL_KTX_Z_REGION 0x2 #define GL_KTX_STENCIL_REGION 0x3 -typedef GLuint (GLAPIENTRY * PFNGLBUFFERREGIONENABLEDEXTPROC) (void); -typedef void (GLAPIENTRY * PFNGLDELETEBUFFERREGIONEXTPROC) (GLenum region); -typedef void (GLAPIENTRY * PFNGLDRAWBUFFERREGIONEXTPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest); -typedef GLuint (GLAPIENTRY * PFNGLNEWBUFFERREGIONEXTPROC) (GLenum region); -typedef void (GLAPIENTRY * PFNGLREADBUFFERREGIONEXTPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height); +typedef GLuint (GLAPIENTRY * PFNGLBUFFERREGIONENABLEDPROC) (void); +typedef void (GLAPIENTRY * PFNGLDELETEBUFFERREGIONPROC) (GLenum region); +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERREGIONPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest); +typedef GLuint (GLAPIENTRY * PFNGLNEWBUFFERREGIONPROC) (GLenum region); +typedef void (GLAPIENTRY * PFNGLREADBUFFERREGIONPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height); -#define glBufferRegionEnabledEXT GLEW_GET_FUN(__glewBufferRegionEnabledEXT) -#define glDeleteBufferRegionEXT GLEW_GET_FUN(__glewDeleteBufferRegionEXT) -#define glDrawBufferRegionEXT GLEW_GET_FUN(__glewDrawBufferRegionEXT) -#define glNewBufferRegionEXT GLEW_GET_FUN(__glewNewBufferRegionEXT) -#define glReadBufferRegionEXT GLEW_GET_FUN(__glewReadBufferRegionEXT) +#define glBufferRegionEnabled GLEW_GET_FUN(__glewBufferRegionEnabled) +#define glDeleteBufferRegion GLEW_GET_FUN(__glewDeleteBufferRegion) +#define glDrawBufferRegion GLEW_GET_FUN(__glewDrawBufferRegion) +#define glNewBufferRegion GLEW_GET_FUN(__glewNewBufferRegion) +#define glReadBufferRegion GLEW_GET_FUN(__glewReadBufferRegion) #define GLEW_KTX_buffer_region GLEW_GET_VAR(__GLEW_KTX_buffer_region) @@ -6555,6 +10043,21 @@ typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort* p); #endif /* GL_MESA_ycbcr_texture */ +/* ------------------------- GL_NVX_gpu_memory_info ------------------------ */ + +#ifndef GL_NVX_gpu_memory_info +#define GL_NVX_gpu_memory_info 1 + +#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 +#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 +#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 +#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A +#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B + +#define GLEW_NVX_gpu_memory_info GLEW_GET_VAR(__GLEW_NVX_gpu_memory_info) + +#endif /* GL_NVX_gpu_memory_info */ + /* --------------------------- GL_NV_blend_square -------------------------- */ #ifndef GL_NV_blend_square @@ -6564,6 +10067,26 @@ typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort* p); #endif /* GL_NV_blend_square */ +/* ------------------------ GL_NV_conditional_render ----------------------- */ + +#ifndef GL_NV_conditional_render +#define GL_NV_conditional_render 1 + +#define GL_QUERY_WAIT_NV 0x8E13 +#define GL_QUERY_NO_WAIT_NV 0x8E14 +#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16 + +typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode); +typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERNVPROC) (void); + +#define glBeginConditionalRenderNV GLEW_GET_FUN(__glewBeginConditionalRenderNV) +#define glEndConditionalRenderNV GLEW_GET_FUN(__glewEndConditionalRenderNV) + +#define GLEW_NV_conditional_render GLEW_GET_VAR(__GLEW_NV_conditional_render) + +#endif /* GL_NV_conditional_render */ + /* ----------------------- GL_NV_copy_depth_to_color ----------------------- */ #ifndef GL_NV_copy_depth_to_color @@ -6576,6 +10099,19 @@ typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort* p); #endif /* GL_NV_copy_depth_to_color */ +/* ---------------------------- GL_NV_copy_image --------------------------- */ + +#ifndef GL_NV_copy_image +#define GL_NV_copy_image 1 + +typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); + +#define glCopyImageSubDataNV GLEW_GET_FUN(__glewCopyImageSubDataNV) + +#define GLEW_NV_copy_image GLEW_GET_VAR(__GLEW_NV_copy_image) + +#endif /* GL_NV_copy_image */ + /* ------------------------ GL_NV_depth_buffer_float ----------------------- */ #ifndef GL_NV_depth_buffer_float @@ -6678,6 +10214,34 @@ typedef void (GLAPIENTRY * PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pna #endif /* GL_NV_evaluators */ +/* ----------------------- GL_NV_explicit_multisample ---------------------- */ + +#ifndef GL_NV_explicit_multisample +#define GL_NV_explicit_multisample 1 + +#define GL_SAMPLE_POSITION_NV 0x8E50 +#define GL_SAMPLE_MASK_NV 0x8E51 +#define GL_SAMPLE_MASK_VALUE_NV 0x8E52 +#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53 +#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54 +#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55 +#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56 +#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57 +#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58 +#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59 + +typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat* val); +typedef void (GLAPIENTRY * PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer); + +#define glGetMultisamplefvNV GLEW_GET_FUN(__glewGetMultisamplefvNV) +#define glSampleMaskIndexedNV GLEW_GET_FUN(__glewSampleMaskIndexedNV) +#define glTexRenderbufferNV GLEW_GET_FUN(__glewTexRenderbufferNV) + +#define GLEW_NV_explicit_multisample GLEW_GET_VAR(__GLEW_NV_explicit_multisample) + +#endif /* GL_NV_explicit_multisample */ + /* ------------------------------ GL_NV_fence ------------------------------ */ #ifndef GL_NV_fence @@ -6896,6 +10460,139 @@ typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum targe #endif /* GL_NV_gpu_program4 */ +/* --------------------------- GL_NV_gpu_program5 -------------------------- */ + +#ifndef GL_NV_gpu_program5 +#define GL_NV_gpu_program5 1 + +#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C +#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5F + +#define GLEW_NV_gpu_program5 GLEW_GET_VAR(__GLEW_NV_gpu_program5) + +#endif /* GL_NV_gpu_program5 */ + +/* ------------------------- GL_NV_gpu_program_fp64 ------------------------ */ + +#ifndef GL_NV_gpu_program_fp64 +#define GL_NV_gpu_program_fp64 1 + +#define GLEW_NV_gpu_program_fp64 GLEW_GET_VAR(__GLEW_NV_gpu_program_fp64) + +#endif /* GL_NV_gpu_program_fp64 */ + +/* --------------------------- GL_NV_gpu_shader5 --------------------------- */ + +#ifndef GL_NV_gpu_shader5 +#define GL_NV_gpu_shader5 1 + +#define GL_INT64_NV 0x140E +#define GL_UNSIGNED_INT64_NV 0x140F +#define GL_INT8_NV 0x8FE0 +#define GL_INT8_VEC2_NV 0x8FE1 +#define GL_INT8_VEC3_NV 0x8FE2 +#define GL_INT8_VEC4_NV 0x8FE3 +#define GL_INT16_NV 0x8FE4 +#define GL_INT16_VEC2_NV 0x8FE5 +#define GL_INT16_VEC3_NV 0x8FE6 +#define GL_INT16_VEC4_NV 0x8FE7 +#define GL_INT64_VEC2_NV 0x8FE9 +#define GL_INT64_VEC3_NV 0x8FEA +#define GL_INT64_VEC4_NV 0x8FEB +#define GL_UNSIGNED_INT8_NV 0x8FEC +#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED +#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE +#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF +#define GL_UNSIGNED_INT16_NV 0x8FF0 +#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 +#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 +#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 +#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 +#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 +#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 +#define GL_FLOAT16_NV 0x8FF8 +#define GL_FLOAT16_VEC2_NV 0x8FF9 +#define GL_FLOAT16_VEC3_NV 0x8FFA +#define GL_FLOAT16_VEC4_NV 0x8FFB + +typedef void (GLAPIENTRY * PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); + +#define glGetUniformi64vNV GLEW_GET_FUN(__glewGetUniformi64vNV) +#define glGetUniformui64vNV GLEW_GET_FUN(__glewGetUniformui64vNV) +#define glProgramUniform1i64NV GLEW_GET_FUN(__glewProgramUniform1i64NV) +#define glProgramUniform1i64vNV GLEW_GET_FUN(__glewProgramUniform1i64vNV) +#define glProgramUniform1ui64NV GLEW_GET_FUN(__glewProgramUniform1ui64NV) +#define glProgramUniform1ui64vNV GLEW_GET_FUN(__glewProgramUniform1ui64vNV) +#define glProgramUniform2i64NV GLEW_GET_FUN(__glewProgramUniform2i64NV) +#define glProgramUniform2i64vNV GLEW_GET_FUN(__glewProgramUniform2i64vNV) +#define glProgramUniform2ui64NV GLEW_GET_FUN(__glewProgramUniform2ui64NV) +#define glProgramUniform2ui64vNV GLEW_GET_FUN(__glewProgramUniform2ui64vNV) +#define glProgramUniform3i64NV GLEW_GET_FUN(__glewProgramUniform3i64NV) +#define glProgramUniform3i64vNV GLEW_GET_FUN(__glewProgramUniform3i64vNV) +#define glProgramUniform3ui64NV GLEW_GET_FUN(__glewProgramUniform3ui64NV) +#define glProgramUniform3ui64vNV GLEW_GET_FUN(__glewProgramUniform3ui64vNV) +#define glProgramUniform4i64NV GLEW_GET_FUN(__glewProgramUniform4i64NV) +#define glProgramUniform4i64vNV GLEW_GET_FUN(__glewProgramUniform4i64vNV) +#define glProgramUniform4ui64NV GLEW_GET_FUN(__glewProgramUniform4ui64NV) +#define glProgramUniform4ui64vNV GLEW_GET_FUN(__glewProgramUniform4ui64vNV) +#define glUniform1i64NV GLEW_GET_FUN(__glewUniform1i64NV) +#define glUniform1i64vNV GLEW_GET_FUN(__glewUniform1i64vNV) +#define glUniform1ui64NV GLEW_GET_FUN(__glewUniform1ui64NV) +#define glUniform1ui64vNV GLEW_GET_FUN(__glewUniform1ui64vNV) +#define glUniform2i64NV GLEW_GET_FUN(__glewUniform2i64NV) +#define glUniform2i64vNV GLEW_GET_FUN(__glewUniform2i64vNV) +#define glUniform2ui64NV GLEW_GET_FUN(__glewUniform2ui64NV) +#define glUniform2ui64vNV GLEW_GET_FUN(__glewUniform2ui64vNV) +#define glUniform3i64NV GLEW_GET_FUN(__glewUniform3i64NV) +#define glUniform3i64vNV GLEW_GET_FUN(__glewUniform3i64vNV) +#define glUniform3ui64NV GLEW_GET_FUN(__glewUniform3ui64NV) +#define glUniform3ui64vNV GLEW_GET_FUN(__glewUniform3ui64vNV) +#define glUniform4i64NV GLEW_GET_FUN(__glewUniform4i64NV) +#define glUniform4i64vNV GLEW_GET_FUN(__glewUniform4i64vNV) +#define glUniform4ui64NV GLEW_GET_FUN(__glewUniform4ui64NV) +#define glUniform4ui64vNV GLEW_GET_FUN(__glewUniform4ui64vNV) + +#define GLEW_NV_gpu_shader5 GLEW_GET_VAR(__GLEW_NV_gpu_shader5) + +#endif /* GL_NV_gpu_shader5 */ + /* ---------------------------- GL_NV_half_float --------------------------- */ #ifndef GL_NV_half_float @@ -7015,6 +10712,18 @@ typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalf* weight); #endif /* GL_NV_light_max_exponent */ +/* ----------------------- GL_NV_multisample_coverage ---------------------- */ + +#ifndef GL_NV_multisample_coverage +#define GL_NV_multisample_coverage 1 + +#define GL_COVERAGE_SAMPLES_NV 0x80A9 +#define GL_COLOR_SAMPLES_NV 0x8E20 + +#define GLEW_NV_multisample_coverage GLEW_GET_VAR(__GLEW_NV_multisample_coverage) + +#endif /* GL_NV_multisample_coverage */ + /* --------------------- GL_NV_multisample_filter_hint --------------------- */ #ifndef GL_NV_multisample_filter_hint @@ -7091,6 +10800,251 @@ typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, #endif /* GL_NV_parameter_buffer_object */ +/* --------------------- GL_NV_parameter_buffer_object2 -------------------- */ + +#ifndef GL_NV_parameter_buffer_object2 +#define GL_NV_parameter_buffer_object2 1 + +#define GLEW_NV_parameter_buffer_object2 GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object2) + +#endif /* GL_NV_parameter_buffer_object2 */ + +/* -------------------------- GL_NV_path_rendering ------------------------- */ + +#ifndef GL_NV_path_rendering +#define GL_NV_path_rendering 1 + +#define GL_CLOSE_PATH_NV 0x00 +#define GL_BOLD_BIT_NV 0x01 +#define GL_GLYPH_WIDTH_BIT_NV 0x01 +#define GL_MOVE_TO_NV 0x02 +#define GL_GLYPH_HEIGHT_BIT_NV 0x02 +#define GL_ITALIC_BIT_NV 0x02 +#define GL_RELATIVE_MOVE_TO_NV 0x03 +#define GL_LINE_TO_NV 0x04 +#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04 +#define GL_RELATIVE_LINE_TO_NV 0x05 +#define GL_HORIZONTAL_LINE_TO_NV 0x06 +#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07 +#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08 +#define GL_VERTICAL_LINE_TO_NV 0x08 +#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09 +#define GL_QUADRATIC_CURVE_TO_NV 0x0A +#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B +#define GL_CUBIC_CURVE_TO_NV 0x0C +#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D +#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E +#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F +#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10 +#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10 +#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11 +#define GL_SMALL_CCW_ARC_TO_NV 0x12 +#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13 +#define GL_SMALL_CW_ARC_TO_NV 0x14 +#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15 +#define GL_LARGE_CCW_ARC_TO_NV 0x16 +#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17 +#define GL_LARGE_CW_ARC_TO_NV 0x18 +#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19 +#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20 +#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40 +#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80 +#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8 +#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA +#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC +#define GL_ARC_TO_NV 0xFE +#define GL_RELATIVE_ARC_TO_NV 0xFF +#define GL_GLYPH_HAS_KERNING_NV 0x100 +#define GL_PRIMARY_COLOR_NV 0x852C +#define GL_SECONDARY_COLOR_NV 0x852D +#define GL_PRIMARY_COLOR 0x8577 +#define GL_PATH_FORMAT_SVG_NV 0x9070 +#define GL_PATH_FORMAT_PS_NV 0x9071 +#define GL_STANDARD_FONT_NAME_NV 0x9072 +#define GL_SYSTEM_FONT_NAME_NV 0x9073 +#define GL_FILE_NAME_NV 0x9074 +#define GL_PATH_STROKE_WIDTH_NV 0x9075 +#define GL_PATH_END_CAPS_NV 0x9076 +#define GL_PATH_INITIAL_END_CAP_NV 0x9077 +#define GL_PATH_TERMINAL_END_CAP_NV 0x9078 +#define GL_PATH_JOIN_STYLE_NV 0x9079 +#define GL_PATH_MITER_LIMIT_NV 0x907A +#define GL_PATH_DASH_CAPS_NV 0x907B +#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C +#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D +#define GL_PATH_DASH_OFFSET_NV 0x907E +#define GL_PATH_CLIENT_LENGTH_NV 0x907F +#define GL_PATH_FILL_MODE_NV 0x9080 +#define GL_PATH_FILL_MASK_NV 0x9081 +#define GL_PATH_FILL_COVER_MODE_NV 0x9082 +#define GL_PATH_STROKE_COVER_MODE_NV 0x9083 +#define GL_PATH_STROKE_MASK_NV 0x9084 +#define GL_COUNT_UP_NV 0x9088 +#define GL_COUNT_DOWN_NV 0x9089 +#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A +#define GL_CONVEX_HULL_NV 0x908B +#define GL_BOUNDING_BOX_NV 0x908D +#define GL_TRANSLATE_X_NV 0x908E +#define GL_TRANSLATE_Y_NV 0x908F +#define GL_TRANSLATE_2D_NV 0x9090 +#define GL_TRANSLATE_3D_NV 0x9091 +#define GL_AFFINE_2D_NV 0x9092 +#define GL_AFFINE_3D_NV 0x9094 +#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096 +#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098 +#define GL_UTF8_NV 0x909A +#define GL_UTF16_NV 0x909B +#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C +#define GL_PATH_COMMAND_COUNT_NV 0x909D +#define GL_PATH_COORD_COUNT_NV 0x909E +#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F +#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0 +#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1 +#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2 +#define GL_SQUARE_NV 0x90A3 +#define GL_ROUND_NV 0x90A4 +#define GL_TRIANGULAR_NV 0x90A5 +#define GL_BEVEL_NV 0x90A6 +#define GL_MITER_REVERT_NV 0x90A7 +#define GL_MITER_TRUNCATE_NV 0x90A8 +#define GL_SKIP_MISSING_GLYPH_NV 0x90A9 +#define GL_USE_MISSING_GLYPH_NV 0x90AA +#define GL_PATH_ERROR_POSITION_NV 0x90AB +#define GL_PATH_FOG_GEN_MODE_NV 0x90AC +#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD +#define GL_ADJACENT_PAIRS_NV 0x90AE +#define GL_FIRST_TO_REST_NV 0x90AF +#define GL_PATH_GEN_MODE_NV 0x90B0 +#define GL_PATH_GEN_COEFF_NV 0x90B1 +#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2 +#define GL_PATH_GEN_COMPONENTS_NV 0x90B3 +#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4 +#define GL_MOVE_TO_RESETS_NV 0x90B5 +#define GL_MOVE_TO_CONTINUES_NV 0x90B6 +#define GL_PATH_STENCIL_FUNC_NV 0x90B7 +#define GL_PATH_STENCIL_REF_NV 0x90B8 +#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9 +#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD +#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE +#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF +#define GL_FONT_X_MIN_BOUNDS_NV 0x00010000 +#define GL_FONT_Y_MIN_BOUNDS_NV 0x00020000 +#define GL_FONT_X_MAX_BOUNDS_NV 0x00040000 +#define GL_FONT_Y_MAX_BOUNDS_NV 0x00080000 +#define GL_FONT_UNITS_PER_EM_NV 0x00100000 +#define GL_FONT_ASCENDER_NV 0x00200000 +#define GL_FONT_DESCENDER_NV 0x00400000 +#define GL_FONT_HEIGHT_NV 0x00800000 +#define GL_FONT_MAX_ADVANCE_WIDTH_NV 0x01000000 +#define GL_FONT_MAX_ADVANCE_HEIGHT_NV 0x02000000 +#define GL_FONT_UNDERLINE_POSITION_NV 0x04000000 +#define GL_FONT_UNDERLINE_THICKNESS_NV 0x08000000 +#define GL_FONT_HAS_KERNING_NV 0x10000000 + +typedef void (GLAPIENTRY * PFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath); +typedef void (GLAPIENTRY * PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode); +typedef void (GLAPIENTRY * PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLCOVERSTROKEPATHNVPROC) (GLuint name, GLenum coverMode); +typedef void (GLAPIENTRY * PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range); +typedef GLuint (GLAPIENTRY * PFNGLGENPATHSNVPROC) (GLsizei range); +typedef void (GLAPIENTRY * PFNGLGETPATHCOLORGENFVNVPROC) (GLenum color, GLenum pname, GLfloat* value); +typedef void (GLAPIENTRY * PFNGLGETPATHCOLORGENIVNVPROC) (GLenum color, GLenum pname, GLint* value); +typedef void (GLAPIENTRY * PFNGLGETPATHCOMMANDSNVPROC) (GLuint name, GLubyte* commands); +typedef void (GLAPIENTRY * PFNGLGETPATHCOORDSNVPROC) (GLuint name, GLfloat* coords); +typedef void (GLAPIENTRY * PFNGLGETPATHDASHARRAYNVPROC) (GLuint name, GLfloat* dashArray); +typedef GLfloat (GLAPIENTRY * PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments); +typedef void (GLAPIENTRY * PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint fistPathName, GLsizei numPaths, GLsizei stride, GLfloat* metrics); +typedef void (GLAPIENTRY * PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); +typedef void (GLAPIENTRY * PFNGLGETPATHPARAMETERFVNVPROC) (GLuint name, GLenum param, GLfloat* value); +typedef void (GLAPIENTRY * PFNGLGETPATHPARAMETERIVNVPROC) (GLuint name, GLenum param, GLint* value); +typedef void (GLAPIENTRY * PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); +typedef void (GLAPIENTRY * PFNGLGETPATHTEXGENFVNVPROC) (GLenum texCoordSet, GLenum pname, GLfloat* value); +typedef void (GLAPIENTRY * PFNGLGETPATHTEXGENIVNVPROC) (GLenum texCoordSet, GLenum pname, GLint* value); +typedef void (GLAPIENTRY * PFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); +typedef GLboolean (GLAPIENTRY * PFNGLISPATHNVPROC) (GLuint path); +typedef GLboolean (GLAPIENTRY * PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y); +typedef GLboolean (GLAPIENTRY * PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLPATHCOLORGENNVPROC) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat* coeffs); +typedef void (GLAPIENTRY * PFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const GLvoid*coords); +typedef void (GLAPIENTRY * PFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const void* coords); +typedef void (GLAPIENTRY * PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum zfunc); +typedef void (GLAPIENTRY * PFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat* dashArray); +typedef void (GLAPIENTRY * PFNGLPATHFOGGENNVPROC) (GLenum genMode); +typedef void (GLAPIENTRY * PFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (GLAPIENTRY * PFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid*charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLint units); +typedef void (GLAPIENTRY * PFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask); +typedef void (GLAPIENTRY * PFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const void* pathString); +typedef void (GLAPIENTRY * PFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const GLvoid*coords); +typedef void (GLAPIENTRY * PFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void* coords); +typedef void (GLAPIENTRY * PFNGLPATHTEXGENNVPROC) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat* coeffs); +typedef GLboolean (GLAPIENTRY * PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat* x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); +typedef void (GLAPIENTRY * PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask); +typedef void (GLAPIENTRY * PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask); +typedef void (GLAPIENTRY * PFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat* transformValues); +typedef void (GLAPIENTRY * PFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint paths[], const GLfloat weights[]); + +#define glCopyPathNV GLEW_GET_FUN(__glewCopyPathNV) +#define glCoverFillPathInstancedNV GLEW_GET_FUN(__glewCoverFillPathInstancedNV) +#define glCoverFillPathNV GLEW_GET_FUN(__glewCoverFillPathNV) +#define glCoverStrokePathInstancedNV GLEW_GET_FUN(__glewCoverStrokePathInstancedNV) +#define glCoverStrokePathNV GLEW_GET_FUN(__glewCoverStrokePathNV) +#define glDeletePathsNV GLEW_GET_FUN(__glewDeletePathsNV) +#define glGenPathsNV GLEW_GET_FUN(__glewGenPathsNV) +#define glGetPathColorGenfvNV GLEW_GET_FUN(__glewGetPathColorGenfvNV) +#define glGetPathColorGenivNV GLEW_GET_FUN(__glewGetPathColorGenivNV) +#define glGetPathCommandsNV GLEW_GET_FUN(__glewGetPathCommandsNV) +#define glGetPathCoordsNV GLEW_GET_FUN(__glewGetPathCoordsNV) +#define glGetPathDashArrayNV GLEW_GET_FUN(__glewGetPathDashArrayNV) +#define glGetPathLengthNV GLEW_GET_FUN(__glewGetPathLengthNV) +#define glGetPathMetricRangeNV GLEW_GET_FUN(__glewGetPathMetricRangeNV) +#define glGetPathMetricsNV GLEW_GET_FUN(__glewGetPathMetricsNV) +#define glGetPathParameterfvNV GLEW_GET_FUN(__glewGetPathParameterfvNV) +#define glGetPathParameterivNV GLEW_GET_FUN(__glewGetPathParameterivNV) +#define glGetPathSpacingNV GLEW_GET_FUN(__glewGetPathSpacingNV) +#define glGetPathTexGenfvNV GLEW_GET_FUN(__glewGetPathTexGenfvNV) +#define glGetPathTexGenivNV GLEW_GET_FUN(__glewGetPathTexGenivNV) +#define glInterpolatePathsNV GLEW_GET_FUN(__glewInterpolatePathsNV) +#define glIsPathNV GLEW_GET_FUN(__glewIsPathNV) +#define glIsPointInFillPathNV GLEW_GET_FUN(__glewIsPointInFillPathNV) +#define glIsPointInStrokePathNV GLEW_GET_FUN(__glewIsPointInStrokePathNV) +#define glPathColorGenNV GLEW_GET_FUN(__glewPathColorGenNV) +#define glPathCommandsNV GLEW_GET_FUN(__glewPathCommandsNV) +#define glPathCoordsNV GLEW_GET_FUN(__glewPathCoordsNV) +#define glPathCoverDepthFuncNV GLEW_GET_FUN(__glewPathCoverDepthFuncNV) +#define glPathDashArrayNV GLEW_GET_FUN(__glewPathDashArrayNV) +#define glPathFogGenNV GLEW_GET_FUN(__glewPathFogGenNV) +#define glPathGlyphRangeNV GLEW_GET_FUN(__glewPathGlyphRangeNV) +#define glPathGlyphsNV GLEW_GET_FUN(__glewPathGlyphsNV) +#define glPathParameterfNV GLEW_GET_FUN(__glewPathParameterfNV) +#define glPathParameterfvNV GLEW_GET_FUN(__glewPathParameterfvNV) +#define glPathParameteriNV GLEW_GET_FUN(__glewPathParameteriNV) +#define glPathParameterivNV GLEW_GET_FUN(__glewPathParameterivNV) +#define glPathStencilDepthOffsetNV GLEW_GET_FUN(__glewPathStencilDepthOffsetNV) +#define glPathStencilFuncNV GLEW_GET_FUN(__glewPathStencilFuncNV) +#define glPathStringNV GLEW_GET_FUN(__glewPathStringNV) +#define glPathSubCommandsNV GLEW_GET_FUN(__glewPathSubCommandsNV) +#define glPathSubCoordsNV GLEW_GET_FUN(__glewPathSubCoordsNV) +#define glPathTexGenNV GLEW_GET_FUN(__glewPathTexGenNV) +#define glPointAlongPathNV GLEW_GET_FUN(__glewPointAlongPathNV) +#define glStencilFillPathInstancedNV GLEW_GET_FUN(__glewStencilFillPathInstancedNV) +#define glStencilFillPathNV GLEW_GET_FUN(__glewStencilFillPathNV) +#define glStencilStrokePathInstancedNV GLEW_GET_FUN(__glewStencilStrokePathInstancedNV) +#define glStencilStrokePathNV GLEW_GET_FUN(__glewStencilStrokePathNV) +#define glTransformPathNV GLEW_GET_FUN(__glewTransformPathNV) +#define glWeightPathsNV GLEW_GET_FUN(__glewWeightPathsNV) + +#define GLEW_NV_path_rendering GLEW_GET_VAR(__GLEW_NV_path_rendering) + +#endif /* GL_NV_path_rendering */ + /* ------------------------- GL_NV_pixel_data_range ------------------------ */ #ifndef GL_NV_pixel_data_range @@ -7132,6 +11086,36 @@ typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLi #endif /* GL_NV_point_sprite */ +/* -------------------------- GL_NV_present_video -------------------------- */ + +#ifndef GL_NV_present_video +#define GL_NV_present_video 1 + +#define GL_FRAME_NV 0x8E26 +#define GL_FIELDS_NV 0x8E27 +#define GL_CURRENT_TIME_NV 0x8E28 +#define GL_NUM_FILL_STREAMS_NV 0x8E29 +#define GL_PRESENT_TIME_NV 0x8E2A +#define GL_PRESENT_DURATION_NV 0x8E2B + +typedef void (GLAPIENTRY * PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3); +typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1); + +#define glGetVideoi64vNV GLEW_GET_FUN(__glewGetVideoi64vNV) +#define glGetVideoivNV GLEW_GET_FUN(__glewGetVideoivNV) +#define glGetVideoui64vNV GLEW_GET_FUN(__glewGetVideoui64vNV) +#define glGetVideouivNV GLEW_GET_FUN(__glewGetVideouivNV) +#define glPresentFrameDualFillNV GLEW_GET_FUN(__glewPresentFrameDualFillNV) +#define glPresentFrameKeyedNV GLEW_GET_FUN(__glewPresentFrameKeyedNV) + +#define GLEW_NV_present_video GLEW_GET_VAR(__GLEW_NV_present_video) + +#endif /* GL_NV_present_video */ + /* ------------------------ GL_NV_primitive_restart ------------------------ */ #ifndef GL_NV_primitive_restart @@ -7256,6 +11240,62 @@ typedef void (GLAPIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage #endif /* GL_NV_register_combiners2 */ +/* ------------------------ GL_NV_shader_buffer_load ----------------------- */ + +#ifndef GL_NV_shader_buffer_load +#define GL_NV_shader_buffer_load 1 + +#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D +#define GL_GPU_ADDRESS_NV 0x8F34 +#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35 + +typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT* result); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT* params); +typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERRESIDENTNVPROC) (GLenum target); +typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access); +typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value); +typedef void (GLAPIENTRY * PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); + +#define glGetBufferParameterui64vNV GLEW_GET_FUN(__glewGetBufferParameterui64vNV) +#define glGetIntegerui64vNV GLEW_GET_FUN(__glewGetIntegerui64vNV) +#define glGetNamedBufferParameterui64vNV GLEW_GET_FUN(__glewGetNamedBufferParameterui64vNV) +#define glIsBufferResidentNV GLEW_GET_FUN(__glewIsBufferResidentNV) +#define glIsNamedBufferResidentNV GLEW_GET_FUN(__glewIsNamedBufferResidentNV) +#define glMakeBufferNonResidentNV GLEW_GET_FUN(__glewMakeBufferNonResidentNV) +#define glMakeBufferResidentNV GLEW_GET_FUN(__glewMakeBufferResidentNV) +#define glMakeNamedBufferNonResidentNV GLEW_GET_FUN(__glewMakeNamedBufferNonResidentNV) +#define glMakeNamedBufferResidentNV GLEW_GET_FUN(__glewMakeNamedBufferResidentNV) +#define glProgramUniformui64NV GLEW_GET_FUN(__glewProgramUniformui64NV) +#define glProgramUniformui64vNV GLEW_GET_FUN(__glewProgramUniformui64vNV) +#define glUniformui64NV GLEW_GET_FUN(__glewUniformui64NV) +#define glUniformui64vNV GLEW_GET_FUN(__glewUniformui64vNV) + +#define GLEW_NV_shader_buffer_load GLEW_GET_VAR(__GLEW_NV_shader_buffer_load) + +#endif /* GL_NV_shader_buffer_load */ + +/* ---------------------- GL_NV_tessellation_program5 ---------------------- */ + +#ifndef GL_NV_tessellation_program5 +#define GL_NV_tessellation_program5 1 + +#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8 +#define GL_TESS_CONTROL_PROGRAM_NV 0x891E +#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F +#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74 +#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75 + +#define GLEW_NV_tessellation_program5 GLEW_GET_VAR(__GLEW_NV_tessellation_program5) + +#endif /* GL_NV_tessellation_program5 */ + /* -------------------------- GL_NV_texgen_emboss -------------------------- */ #ifndef GL_NV_texgen_emboss @@ -7281,6 +11321,19 @@ typedef void (GLAPIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage #endif /* GL_NV_texgen_reflection */ +/* ------------------------- GL_NV_texture_barrier ------------------------- */ + +#ifndef GL_NV_texture_barrier +#define GL_NV_texture_barrier 1 + +typedef void (GLAPIENTRY * PFNGLTEXTUREBARRIERNVPROC) (void); + +#define glTextureBarrierNV GLEW_GET_FUN(__glewTextureBarrierNV) + +#define GLEW_NV_texture_barrier GLEW_GET_VAR(__GLEW_NV_texture_barrier) + +#endif /* GL_NV_texture_barrier */ + /* --------------------- GL_NV_texture_compression_vtc --------------------- */ #ifndef GL_NV_texture_compression_vtc @@ -7316,6 +11369,32 @@ typedef void (GLAPIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage #endif /* GL_NV_texture_expand_normal */ +/* ----------------------- GL_NV_texture_multisample ----------------------- */ + +#ifndef GL_NV_texture_multisample +#define GL_NV_texture_multisample 1 + +#define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045 +#define GL_TEXTURE_COLOR_SAMPLES_NV 0x9046 + +typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); + +#define glTexImage2DMultisampleCoverageNV GLEW_GET_FUN(__glewTexImage2DMultisampleCoverageNV) +#define glTexImage3DMultisampleCoverageNV GLEW_GET_FUN(__glewTexImage3DMultisampleCoverageNV) +#define glTextureImage2DMultisampleCoverageNV GLEW_GET_FUN(__glewTextureImage2DMultisampleCoverageNV) +#define glTextureImage2DMultisampleNV GLEW_GET_FUN(__glewTextureImage2DMultisampleNV) +#define glTextureImage3DMultisampleCoverageNV GLEW_GET_FUN(__glewTextureImage3DMultisampleCoverageNV) +#define glTextureImage3DMultisampleNV GLEW_GET_FUN(__glewTextureImage3DMultisampleNV) + +#define GLEW_NV_texture_multisample GLEW_GET_VAR(__GLEW_NV_texture_multisample) + +#endif /* GL_NV_texture_multisample */ + /* ------------------------ GL_NV_texture_rectangle ------------------------ */ #ifndef GL_NV_texture_rectangle @@ -7346,9 +11425,12 @@ typedef void (GLAPIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage #define GL_TEXTURE_SHADER_NV 0x86DE #define GL_SHADER_OPERATION_NV 0x86DF #define GL_CULL_MODES_NV 0x86E0 +#define GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1 #define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1 +#define GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2 #define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2 #define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3 +#define GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3 #define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4 #define GL_CONST_EYE_NV 0x86E5 #define GL_PASS_THROUGH_NV 0x86E6 @@ -7534,6 +11616,74 @@ typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program #endif /* GL_NV_transform_feedback */ +/* ----------------------- GL_NV_transform_feedback2 ----------------------- */ + +#ifndef GL_NV_transform_feedback2 +#define GL_NV_transform_feedback2 1 + +#define GL_TRANSFORM_FEEDBACK_NV 0x8E22 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25 + +typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id); +typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint* ids); +typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void); +typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void); + +#define glBindTransformFeedbackNV GLEW_GET_FUN(__glewBindTransformFeedbackNV) +#define glDeleteTransformFeedbacksNV GLEW_GET_FUN(__glewDeleteTransformFeedbacksNV) +#define glDrawTransformFeedbackNV GLEW_GET_FUN(__glewDrawTransformFeedbackNV) +#define glGenTransformFeedbacksNV GLEW_GET_FUN(__glewGenTransformFeedbacksNV) +#define glIsTransformFeedbackNV GLEW_GET_FUN(__glewIsTransformFeedbackNV) +#define glPauseTransformFeedbackNV GLEW_GET_FUN(__glewPauseTransformFeedbackNV) +#define glResumeTransformFeedbackNV GLEW_GET_FUN(__glewResumeTransformFeedbackNV) + +#define GLEW_NV_transform_feedback2 GLEW_GET_VAR(__GLEW_NV_transform_feedback2) + +#endif /* GL_NV_transform_feedback2 */ + +/* -------------------------- GL_NV_vdpau_interop -------------------------- */ + +#ifndef GL_NV_vdpau_interop +#define GL_NV_vdpau_interop 1 + +#define GL_SURFACE_STATE_NV 0x86EB +#define GL_SURFACE_REGISTERED_NV 0x86FD +#define GL_SURFACE_MAPPED_NV 0x8700 +#define GL_WRITE_DISCARD_NV 0x88BE + +typedef GLintptr GLvdpauSurfaceNV; + +typedef void (GLAPIENTRY * PFNGLVDPAUFININVPROC) (void); +typedef void (GLAPIENTRY * PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei* length, GLint *values); +typedef void (GLAPIENTRY * PFNGLVDPAUINITNVPROC) (const void* vdpDevice, const GLvoid*getProcAddress); +typedef void (GLAPIENTRY * PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface); +typedef void (GLAPIENTRY * PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV* surfaces); +typedef GLvdpauSurfaceNV (GLAPIENTRY * PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); +typedef GLvdpauSurfaceNV (GLAPIENTRY * PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); +typedef void (GLAPIENTRY * PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access); +typedef void (GLAPIENTRY * PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV* surfaces); +typedef void (GLAPIENTRY * PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface); + +#define glVDPAUFiniNV GLEW_GET_FUN(__glewVDPAUFiniNV) +#define glVDPAUGetSurfaceivNV GLEW_GET_FUN(__glewVDPAUGetSurfaceivNV) +#define glVDPAUInitNV GLEW_GET_FUN(__glewVDPAUInitNV) +#define glVDPAUIsSurfaceNV GLEW_GET_FUN(__glewVDPAUIsSurfaceNV) +#define glVDPAUMapSurfacesNV GLEW_GET_FUN(__glewVDPAUMapSurfacesNV) +#define glVDPAURegisterOutputSurfaceNV GLEW_GET_FUN(__glewVDPAURegisterOutputSurfaceNV) +#define glVDPAURegisterVideoSurfaceNV GLEW_GET_FUN(__glewVDPAURegisterVideoSurfaceNV) +#define glVDPAUSurfaceAccessNV GLEW_GET_FUN(__glewVDPAUSurfaceAccessNV) +#define glVDPAUUnmapSurfacesNV GLEW_GET_FUN(__glewVDPAUUnmapSurfacesNV) +#define glVDPAUUnregisterSurfaceNV GLEW_GET_FUN(__glewVDPAUUnregisterSurfaceNV) + +#define GLEW_NV_vdpau_interop GLEW_GET_VAR(__GLEW_NV_vdpau_interop) + +#endif /* GL_NV_vdpau_interop */ + /* ------------------------ GL_NV_vertex_array_range ----------------------- */ #ifndef GL_NV_vertex_array_range @@ -7566,6 +11716,119 @@ typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, void* p #endif /* GL_NV_vertex_array_range2 */ +/* ------------------- GL_NV_vertex_attrib_integer_64bit ------------------- */ + +#ifndef GL_NV_vertex_attrib_integer_64bit +#define GL_NV_vertex_attrib_integer_64bit 1 + +#define GL_INT64_NV 0x140E +#define GL_UNSIGNED_INT64_NV 0x140F + +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); + +#define glGetVertexAttribLi64vNV GLEW_GET_FUN(__glewGetVertexAttribLi64vNV) +#define glGetVertexAttribLui64vNV GLEW_GET_FUN(__glewGetVertexAttribLui64vNV) +#define glVertexAttribL1i64NV GLEW_GET_FUN(__glewVertexAttribL1i64NV) +#define glVertexAttribL1i64vNV GLEW_GET_FUN(__glewVertexAttribL1i64vNV) +#define glVertexAttribL1ui64NV GLEW_GET_FUN(__glewVertexAttribL1ui64NV) +#define glVertexAttribL1ui64vNV GLEW_GET_FUN(__glewVertexAttribL1ui64vNV) +#define glVertexAttribL2i64NV GLEW_GET_FUN(__glewVertexAttribL2i64NV) +#define glVertexAttribL2i64vNV GLEW_GET_FUN(__glewVertexAttribL2i64vNV) +#define glVertexAttribL2ui64NV GLEW_GET_FUN(__glewVertexAttribL2ui64NV) +#define glVertexAttribL2ui64vNV GLEW_GET_FUN(__glewVertexAttribL2ui64vNV) +#define glVertexAttribL3i64NV GLEW_GET_FUN(__glewVertexAttribL3i64NV) +#define glVertexAttribL3i64vNV GLEW_GET_FUN(__glewVertexAttribL3i64vNV) +#define glVertexAttribL3ui64NV GLEW_GET_FUN(__glewVertexAttribL3ui64NV) +#define glVertexAttribL3ui64vNV GLEW_GET_FUN(__glewVertexAttribL3ui64vNV) +#define glVertexAttribL4i64NV GLEW_GET_FUN(__glewVertexAttribL4i64NV) +#define glVertexAttribL4i64vNV GLEW_GET_FUN(__glewVertexAttribL4i64vNV) +#define glVertexAttribL4ui64NV GLEW_GET_FUN(__glewVertexAttribL4ui64NV) +#define glVertexAttribL4ui64vNV GLEW_GET_FUN(__glewVertexAttribL4ui64vNV) +#define glVertexAttribLFormatNV GLEW_GET_FUN(__glewVertexAttribLFormatNV) + +#define GLEW_NV_vertex_attrib_integer_64bit GLEW_GET_VAR(__GLEW_NV_vertex_attrib_integer_64bit) + +#endif /* GL_NV_vertex_attrib_integer_64bit */ + +/* ------------------- GL_NV_vertex_buffer_unified_memory ------------------ */ + +#ifndef GL_NV_vertex_buffer_unified_memory +#define GL_NV_vertex_buffer_unified_memory 1 + +#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E +#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F +#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20 +#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21 +#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22 +#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23 +#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24 +#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25 +#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26 +#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27 +#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28 +#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29 +#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A +#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B +#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C +#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D +#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E +#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F +#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30 +#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31 +#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32 +#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33 +#define GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40 +#define GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41 +#define GL_DRAW_INDIRECT_LENGTH_NV 0x8F42 + +typedef void (GLAPIENTRY * PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length); +typedef void (GLAPIENTRY * PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride); +typedef void (GLAPIENTRY * PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT result[]); +typedef void (GLAPIENTRY * PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); + +#define glBufferAddressRangeNV GLEW_GET_FUN(__glewBufferAddressRangeNV) +#define glColorFormatNV GLEW_GET_FUN(__glewColorFormatNV) +#define glEdgeFlagFormatNV GLEW_GET_FUN(__glewEdgeFlagFormatNV) +#define glFogCoordFormatNV GLEW_GET_FUN(__glewFogCoordFormatNV) +#define glGetIntegerui64i_vNV GLEW_GET_FUN(__glewGetIntegerui64i_vNV) +#define glIndexFormatNV GLEW_GET_FUN(__glewIndexFormatNV) +#define glNormalFormatNV GLEW_GET_FUN(__glewNormalFormatNV) +#define glSecondaryColorFormatNV GLEW_GET_FUN(__glewSecondaryColorFormatNV) +#define glTexCoordFormatNV GLEW_GET_FUN(__glewTexCoordFormatNV) +#define glVertexAttribFormatNV GLEW_GET_FUN(__glewVertexAttribFormatNV) +#define glVertexAttribIFormatNV GLEW_GET_FUN(__glewVertexAttribIFormatNV) +#define glVertexFormatNV GLEW_GET_FUN(__glewVertexFormatNV) + +#define GLEW_NV_vertex_buffer_unified_memory GLEW_GET_VAR(__GLEW_NV_vertex_buffer_unified_memory) + +#endif /* GL_NV_vertex_buffer_unified_memory */ + /* -------------------------- GL_NV_vertex_program ------------------------- */ #ifndef GL_NV_vertex_program @@ -7675,8 +11938,8 @@ typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble* params); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLuint num, const GLdouble* params); -typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLuint num, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei num, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei num, const GLfloat* params); typedef void (GLAPIENTRY * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, GLuint* ids); typedef void (GLAPIENTRY * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform); typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x); @@ -7835,10 +12098,77 @@ typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei #ifndef GL_NV_vertex_program4 #define GL_NV_vertex_program4 1 +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD + #define GLEW_NV_vertex_program4 GLEW_GET_VAR(__GLEW_NV_vertex_program4) #endif /* GL_NV_vertex_program4 */ +/* -------------------------- GL_NV_video_capture -------------------------- */ + +#ifndef GL_NV_video_capture +#define GL_NV_video_capture 1 + +#define GL_VIDEO_BUFFER_NV 0x9020 +#define GL_VIDEO_BUFFER_BINDING_NV 0x9021 +#define GL_FIELD_UPPER_NV 0x9022 +#define GL_FIELD_LOWER_NV 0x9023 +#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV 0x9024 +#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV 0x9025 +#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV 0x9026 +#define GL_LAST_VIDEO_CAPTURE_STATUS_NV 0x9027 +#define GL_VIDEO_BUFFER_PITCH_NV 0x9028 +#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV 0x9029 +#define GL_VIDEO_COLOR_CONVERSION_MAX_NV 0x902A +#define GL_VIDEO_COLOR_CONVERSION_MIN_NV 0x902B +#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV 0x902C +#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV 0x902D +#define GL_PARTIAL_SUCCESS_NV 0x902E +#define GL_SUCCESS_NV 0x902F +#define GL_FAILURE_NV 0x9030 +#define GL_YCBYCR8_422_NV 0x9031 +#define GL_YCBAYCR8A_4224_NV 0x9032 +#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV 0x9033 +#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034 +#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV 0x9035 +#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036 +#define GL_Z4Y12Z4CB12Z4CR12_444_NV 0x9037 +#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV 0x9038 +#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV 0x9039 +#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV 0x903A +#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV 0x903B +#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV 0x903C + +typedef void (GLAPIENTRY * PFNGLBEGINVIDEOCAPTURENVPROC) (GLuint video_capture_slot); +typedef void (GLAPIENTRY * PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset); +typedef void (GLAPIENTRY * PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture); +typedef void (GLAPIENTRY * PFNGLENDVIDEOCAPTURENVPROC) (GLuint video_capture_slot); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTUREIVNVPROC) (GLuint video_capture_slot, GLenum pname, GLint* params); +typedef GLenum (GLAPIENTRY * PFNGLVIDEOCAPTURENVPROC) (GLuint video_capture_slot, GLuint* sequence_num, GLuint64EXT *capture_time); +typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint* params); + +#define glBeginVideoCaptureNV GLEW_GET_FUN(__glewBeginVideoCaptureNV) +#define glBindVideoCaptureStreamBufferNV GLEW_GET_FUN(__glewBindVideoCaptureStreamBufferNV) +#define glBindVideoCaptureStreamTextureNV GLEW_GET_FUN(__glewBindVideoCaptureStreamTextureNV) +#define glEndVideoCaptureNV GLEW_GET_FUN(__glewEndVideoCaptureNV) +#define glGetVideoCaptureStreamdvNV GLEW_GET_FUN(__glewGetVideoCaptureStreamdvNV) +#define glGetVideoCaptureStreamfvNV GLEW_GET_FUN(__glewGetVideoCaptureStreamfvNV) +#define glGetVideoCaptureStreamivNV GLEW_GET_FUN(__glewGetVideoCaptureStreamivNV) +#define glGetVideoCaptureivNV GLEW_GET_FUN(__glewGetVideoCaptureivNV) +#define glVideoCaptureNV GLEW_GET_FUN(__glewVideoCaptureNV) +#define glVideoCaptureStreamParameterdvNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterdvNV) +#define glVideoCaptureStreamParameterfvNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterfvNV) +#define glVideoCaptureStreamParameterivNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterivNV) + +#define GLEW_NV_video_capture GLEW_GET_VAR(__GLEW_NV_video_capture) + +#endif /* GL_NV_video_capture */ + /* ------------------------ GL_OES_byte_coordinates ------------------------ */ #ifndef GL_OES_byte_coordinates @@ -8138,6 +12468,24 @@ typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern); #endif /* GL_SGIS_pixel_texture */ +/* ----------------------- GL_SGIS_point_line_texgen ----------------------- */ + +#ifndef GL_SGIS_point_line_texgen +#define GL_SGIS_point_line_texgen 1 + +#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0 +#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1 +#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2 +#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3 +#define GL_EYE_POINT_SGIS 0x81F4 +#define GL_OBJECT_POINT_SGIS 0x81F5 +#define GL_EYE_LINE_SGIS 0x81F6 +#define GL_OBJECT_LINE_SGIS 0x81F7 + +#define GLEW_SGIS_point_line_texgen GLEW_GET_VAR(__GLEW_SGIS_point_line_texgen) + +#endif /* GL_SGIS_point_line_texgen */ + /* ------------------------ GL_SGIS_sharpen_texture ------------------------ */ #ifndef GL_SGIS_sharpen_texture @@ -8302,6 +12650,17 @@ typedef GLint (GLAPIENTRY * PFNGLPOLLASYNCSGIXPROC) (GLuint* markerp); #endif /* GL_SGIX_clipmap */ +/* ---------------------- GL_SGIX_convolution_accuracy --------------------- */ + +#ifndef GL_SGIX_convolution_accuracy +#define GL_SGIX_convolution_accuracy 1 + +#define GL_CONVOLUTION_HINT_SGIX 0x8316 + +#define GLEW_SGIX_convolution_accuracy GLEW_GET_VAR(__GLEW_SGIX_convolution_accuracy) + +#endif /* GL_SGIX_convolution_accuracy */ + /* ------------------------- GL_SGIX_depth_texture ------------------------- */ #ifndef GL_SGIX_depth_texture @@ -9099,6 +13458,8 @@ GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays; GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFPROC __glewPointParameterf; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIPROC __glewPointParameteri; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d; @@ -9254,8 +13615,115 @@ GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv; GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv; +GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender; +GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback; +GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation; +GLEW_FUN_EXPORT PFNGLCLAMPCOLORPROC __glewClampColor; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERFIPROC __glewClearBufferfi; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERFVPROC __glewClearBufferfv; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERIVPROC __glewClearBufferiv; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERUIVPROC __glewClearBufferuiv; +GLEW_FUN_EXPORT PFNGLCOLORMASKIPROC __glewColorMaski; +GLEW_FUN_EXPORT PFNGLDISABLEIPROC __glewDisablei; +GLEW_FUN_EXPORT PFNGLENABLEIPROC __glewEnablei; +GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERPROC __glewEndConditionalRender; +GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKPROC __glewEndTransformFeedback; +GLEW_FUN_EXPORT PFNGLGETBOOLEANI_VPROC __glewGetBooleani_v; +GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONPROC __glewGetFragDataLocation; +GLEW_FUN_EXPORT PFNGLGETSTRINGIPROC __glewGetStringi; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVPROC __glewGetTexParameterIiv; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVPROC __glewGetTexParameterIuiv; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGPROC __glewGetTransformFeedbackVarying; +GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVPROC __glewGetUniformuiv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVPROC __glewGetVertexAttribIiv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVPROC __glewGetVertexAttribIuiv; +GLEW_FUN_EXPORT PFNGLISENABLEDIPROC __glewIsEnabledi; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVPROC __glewTexParameterIiv; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVPROC __glewTexParameterIuiv; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSPROC __glewTransformFeedbackVaryings; +GLEW_FUN_EXPORT PFNGLUNIFORM1UIPROC __glewUniform1ui; +GLEW_FUN_EXPORT PFNGLUNIFORM1UIVPROC __glewUniform1uiv; +GLEW_FUN_EXPORT PFNGLUNIFORM2UIPROC __glewUniform2ui; +GLEW_FUN_EXPORT PFNGLUNIFORM2UIVPROC __glewUniform2uiv; +GLEW_FUN_EXPORT PFNGLUNIFORM3UIPROC __glewUniform3ui; +GLEW_FUN_EXPORT PFNGLUNIFORM3UIVPROC __glewUniform3uiv; +GLEW_FUN_EXPORT PFNGLUNIFORM4UIPROC __glewUniform4ui; +GLEW_FUN_EXPORT PFNGLUNIFORM4UIVPROC __glewUniform4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IPROC __glewVertexAttribI1i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVPROC __glewVertexAttribI1iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIPROC __glewVertexAttribI1ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVPROC __glewVertexAttribI1uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IPROC __glewVertexAttribI2i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVPROC __glewVertexAttribI2iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIPROC __glewVertexAttribI2ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVPROC __glewVertexAttribI2uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IPROC __glewVertexAttribI3i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVPROC __glewVertexAttribI3iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIPROC __glewVertexAttribI3ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVPROC __glewVertexAttribI3uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVPROC __glewVertexAttribI4bv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IPROC __glewVertexAttribI4i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVPROC __glewVertexAttribI4iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVPROC __glewVertexAttribI4sv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVPROC __glewVertexAttribI4ubv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIPROC __glewVertexAttribI4ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVPROC __glewVertexAttribI4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVPROC __glewVertexAttribI4usv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTERPROC __glewVertexAttribIPointer; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDPROC __glewDrawArraysInstanced; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDPROC __glewDrawElementsInstanced; +GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXPROC __glewPrimitiveRestartIndex; +GLEW_FUN_EXPORT PFNGLTEXBUFFERPROC __glewTexBuffer; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREPROC __glewFramebufferTexture; +GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERI64VPROC __glewGetBufferParameteri64v; +GLEW_FUN_EXPORT PFNGLGETINTEGER64I_VPROC __glewGetInteger64i_v; + +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORPROC __glewVertexAttribDivisor; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIPROC __glewBlendEquationSeparatei; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIPROC __glewBlendEquationi; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIPROC __glewBlendFuncSeparatei; +GLEW_FUN_EXPORT PFNGLBLENDFUNCIPROC __glewBlendFunci; +GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGPROC __glewMinSampleShading; + GLEW_FUN_EXPORT PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECALLBACKAMDPROC __glewDebugMessageCallbackAMD; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEENABLEAMDPROC __glewDebugMessageEnableAMD; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEINSERTAMDPROC __glewDebugMessageInsertAMD; +GLEW_FUN_EXPORT PFNGLGETDEBUGMESSAGELOGAMDPROC __glewGetDebugMessageLogAMD; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONINDEXEDAMDPROC __glewBlendEquationIndexedAMD; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC __glewBlendEquationSeparateIndexedAMD; +GLEW_FUN_EXPORT PFNGLBLENDFUNCINDEXEDAMDPROC __glewBlendFuncIndexedAMD; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC __glewBlendFuncSeparateIndexedAMD; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC __glewMultiDrawArraysIndirectAMD; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC __glewMultiDrawElementsIndirectAMD; + +GLEW_FUN_EXPORT PFNGLDELETENAMESAMDPROC __glewDeleteNamesAMD; +GLEW_FUN_EXPORT PFNGLGENNAMESAMDPROC __glewGenNamesAMD; +GLEW_FUN_EXPORT PFNGLISNAMEAMDPROC __glewIsNameAMD; + +GLEW_FUN_EXPORT PFNGLBEGINPERFMONITORAMDPROC __glewBeginPerfMonitorAMD; +GLEW_FUN_EXPORT PFNGLDELETEPERFMONITORSAMDPROC __glewDeletePerfMonitorsAMD; +GLEW_FUN_EXPORT PFNGLENDPERFMONITORAMDPROC __glewEndPerfMonitorAMD; +GLEW_FUN_EXPORT PFNGLGENPERFMONITORSAMDPROC __glewGenPerfMonitorsAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERDATAAMDPROC __glewGetPerfMonitorCounterDataAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERINFOAMDPROC __glewGetPerfMonitorCounterInfoAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC __glewGetPerfMonitorCounterStringAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSAMDPROC __glewGetPerfMonitorCountersAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSTRINGAMDPROC __glewGetPerfMonitorGroupStringAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSAMDPROC __glewGetPerfMonitorGroupsAMD; +GLEW_FUN_EXPORT PFNGLSELECTPERFMONITORCOUNTERSAMDPROC __glewSelectPerfMonitorCountersAMD; + +GLEW_FUN_EXPORT PFNGLSETMULTISAMPLEFVAMDPROC __glewSetMultisamplefvAMD; + +GLEW_FUN_EXPORT PFNGLTESSELLATIONFACTORAMDPROC __glewTessellationFactorAMD; +GLEW_FUN_EXPORT PFNGLTESSELLATIONMODEAMDPROC __glewTessellationModeAMD; + GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYAPPLEPROC __glewDrawElementArrayAPPLE; GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC __glewDrawRangeElementArrayAPPLE; GLEW_FUN_EXPORT PFNGLELEMENTPOINTERAPPLEPROC __glewElementPointerAPPLE; @@ -9271,6 +13739,13 @@ GLEW_FUN_EXPORT PFNGLSETFENCEAPPLEPROC __glewSetFenceAPPLE; GLEW_FUN_EXPORT PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE; GLEW_FUN_EXPORT PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE; +GLEW_FUN_EXPORT PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE; +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE; + +GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVAPPLEPROC __glewGetObjectParameterivAPPLE; +GLEW_FUN_EXPORT PFNGLOBJECTPURGEABLEAPPLEPROC __glewObjectPurgeableAPPLE; +GLEW_FUN_EXPORT PFNGLOBJECTUNPURGEABLEAPPLEPROC __glewObjectUnpurgeableAPPLE; + GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE; GLEW_FUN_EXPORT PFNGLTEXTURERANGEAPPLEPROC __glewTextureRangeAPPLE; @@ -9283,10 +13758,119 @@ GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC __glewFlushVertexArrayRangeA GLEW_FUN_EXPORT PFNGLVERTEXARRAYPARAMETERIAPPLEPROC __glewVertexArrayParameteriAPPLE; GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGEAPPLEPROC __glewVertexArrayRangeAPPLE; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBAPPLEPROC __glewDisableVertexAttribAPPLE; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBAPPLEPROC __glewEnableVertexAttribAPPLE; +GLEW_FUN_EXPORT PFNGLISVERTEXATTRIBENABLEDAPPLEPROC __glewIsVertexAttribEnabledAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1DAPPLEPROC __glewMapVertexAttrib1dAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1FAPPLEPROC __glewMapVertexAttrib1fAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2DAPPLEPROC __glewMapVertexAttrib2dAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2FAPPLEPROC __glewMapVertexAttrib2fAPPLE; + +GLEW_FUN_EXPORT PFNGLCLEARDEPTHFPROC __glewClearDepthf; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEFPROC __glewDepthRangef; +GLEW_FUN_EXPORT PFNGLGETSHADERPRECISIONFORMATPROC __glewGetShaderPrecisionFormat; +GLEW_FUN_EXPORT PFNGLRELEASESHADERCOMPILERPROC __glewReleaseShaderCompiler; +GLEW_FUN_EXPORT PFNGLSHADERBINARYPROC __glewShaderBinary; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC __glewDrawArraysInstancedBaseInstance; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC __glewDrawElementsInstancedBaseInstance; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC __glewDrawElementsInstancedBaseVertexBaseInstance; + +GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONINDEXEDPROC __glewBindFragDataLocationIndexed; +GLEW_FUN_EXPORT PFNGLGETFRAGDATAINDEXPROC __glewGetFragDataIndex; + +GLEW_FUN_EXPORT PFNGLCREATESYNCFROMCLEVENTARBPROC __glewCreateSyncFromCLeventARB; + GLEW_FUN_EXPORT PFNGLCLAMPCOLORARBPROC __glewClampColorARB; +GLEW_FUN_EXPORT PFNGLCOPYBUFFERSUBDATAPROC __glewCopyBufferSubData; + +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECALLBACKARBPROC __glewDebugMessageCallbackARB; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECONTROLARBPROC __glewDebugMessageControlARB; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEINSERTARBPROC __glewDebugMessageInsertARB; +GLEW_FUN_EXPORT PFNGLGETDEBUGMESSAGELOGARBPROC __glewGetDebugMessageLogARB; + GLEW_FUN_EXPORT PFNGLDRAWBUFFERSARBPROC __glewDrawBuffersARB; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIARBPROC __glewBlendEquationSeparateiARB; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIARBPROC __glewBlendEquationiARB; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIARBPROC __glewBlendFuncSeparateiARB; +GLEW_FUN_EXPORT PFNGLBLENDFUNCIARBPROC __glewBlendFunciARB; + +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSBASEVERTEXPROC __glewDrawElementsBaseVertex; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC __glewDrawElementsInstancedBaseVertex; +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC __glewDrawRangeElementsBaseVertex; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC __glewMultiDrawElementsBaseVertex; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINDIRECTPROC __glewDrawArraysIndirect; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINDIRECTPROC __glewDrawElementsIndirect; + +GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer; +GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer; +GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer; +GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus; +GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers; +GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERPROC __glewFramebufferTextureLayer; +GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSPROC __glewGenFramebuffers; +GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSPROC __glewGenRenderbuffers; +GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPPROC __glewGenerateMipmap; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetFramebufferAttachmentParameteriv; +GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVPROC __glewGetRenderbufferParameteriv; +GLEW_FUN_EXPORT PFNGLISFRAMEBUFFERPROC __glewIsFramebuffer; +GLEW_FUN_EXPORT PFNGLISRENDERBUFFERPROC __glewIsRenderbuffer; +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEPROC __glewRenderbufferStorage; +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewRenderbufferStorageMultisample; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREARBPROC __glewFramebufferTextureARB; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEARBPROC __glewFramebufferTextureFaceARB; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERARBPROC __glewFramebufferTextureLayerARB; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIARBPROC __glewProgramParameteriARB; + +GLEW_FUN_EXPORT PFNGLGETPROGRAMBINARYPROC __glewGetProgramBinary; +GLEW_FUN_EXPORT PFNGLPROGRAMBINARYPROC __glewProgramBinary; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIPROC __glewProgramParameteri; + +GLEW_FUN_EXPORT PFNGLGETUNIFORMDVPROC __glewGetUniformdv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1DEXTPROC __glewProgramUniform1dEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1DVEXTPROC __glewProgramUniform1dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2DEXTPROC __glewProgramUniform2dEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2DVEXTPROC __glewProgramUniform2dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3DEXTPROC __glewProgramUniform3dEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3DVEXTPROC __glewProgramUniform3dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4DEXTPROC __glewProgramUniform4dEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4DVEXTPROC __glewProgramUniform4dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC __glewProgramUniformMatrix2dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC __glewProgramUniformMatrix2x3dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC __glewProgramUniformMatrix2x4dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC __glewProgramUniformMatrix3dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC __glewProgramUniformMatrix3x2dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC __glewProgramUniformMatrix3x4dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC __glewProgramUniformMatrix4dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC __glewProgramUniformMatrix4x2dvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC __glewProgramUniformMatrix4x3dvEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM1DPROC __glewUniform1d; +GLEW_FUN_EXPORT PFNGLUNIFORM1DVPROC __glewUniform1dv; +GLEW_FUN_EXPORT PFNGLUNIFORM2DPROC __glewUniform2d; +GLEW_FUN_EXPORT PFNGLUNIFORM2DVPROC __glewUniform2dv; +GLEW_FUN_EXPORT PFNGLUNIFORM3DPROC __glewUniform3d; +GLEW_FUN_EXPORT PFNGLUNIFORM3DVPROC __glewUniform3dv; +GLEW_FUN_EXPORT PFNGLUNIFORM4DPROC __glewUniform4d; +GLEW_FUN_EXPORT PFNGLUNIFORM4DVPROC __glewUniform4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2DVPROC __glewUniformMatrix2dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3DVPROC __glewUniformMatrix2x3dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4DVPROC __glewUniformMatrix2x4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3DVPROC __glewUniformMatrix3dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2DVPROC __glewUniformMatrix3x2dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4DVPROC __glewUniformMatrix3x4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4DVPROC __glewUniformMatrix4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2DVPROC __glewUniformMatrix4x2dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3DVPROC __glewUniformMatrix4x3dv; + GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEPROC __glewColorSubTable; GLEW_FUN_EXPORT PFNGLCOLORTABLEPROC __glewColorTable; GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVPROC __glewColorTableParameterfv; @@ -9320,6 +13904,15 @@ GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMPROC __glewResetHistogram; GLEW_FUN_EXPORT PFNGLRESETMINMAXPROC __glewResetMinmax; GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D; +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB; + +GLEW_FUN_EXPORT PFNGLGETINTERNALFORMATIVPROC __glewGetInternalformativ; + +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange; +GLEW_FUN_EXPORT PFNGLMAPBUFFERRANGEPROC __glewMapBufferRange; + GLEW_FUN_EXPORT PFNGLCURRENTPALETTEMATRIXARBPROC __glewCurrentPaletteMatrixARB; GLEW_FUN_EXPORT PFNGLMATRIXINDEXPOINTERARBPROC __glewMatrixIndexPointerARB; GLEW_FUN_EXPORT PFNGLMATRIXINDEXUBVARBPROC __glewMatrixIndexubvARB; @@ -9375,6 +13968,112 @@ GLEW_FUN_EXPORT PFNGLISQUERYARBPROC __glewIsQueryARB; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFARBPROC __glewPointParameterfARB; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVARBPROC __glewPointParameterfvARB; +GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXPROC __glewProvokingVertex; + +GLEW_FUN_EXPORT PFNGLGETGRAPHICSRESETSTATUSARBPROC __glewGetGraphicsResetStatusARB; +GLEW_FUN_EXPORT PFNGLGETNCOLORTABLEARBPROC __glewGetnColorTableARB; +GLEW_FUN_EXPORT PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC __glewGetnCompressedTexImageARB; +GLEW_FUN_EXPORT PFNGLGETNCONVOLUTIONFILTERARBPROC __glewGetnConvolutionFilterARB; +GLEW_FUN_EXPORT PFNGLGETNHISTOGRAMARBPROC __glewGetnHistogramARB; +GLEW_FUN_EXPORT PFNGLGETNMAPDVARBPROC __glewGetnMapdvARB; +GLEW_FUN_EXPORT PFNGLGETNMAPFVARBPROC __glewGetnMapfvARB; +GLEW_FUN_EXPORT PFNGLGETNMAPIVARBPROC __glewGetnMapivARB; +GLEW_FUN_EXPORT PFNGLGETNMINMAXARBPROC __glewGetnMinmaxARB; +GLEW_FUN_EXPORT PFNGLGETNPIXELMAPFVARBPROC __glewGetnPixelMapfvARB; +GLEW_FUN_EXPORT PFNGLGETNPIXELMAPUIVARBPROC __glewGetnPixelMapuivARB; +GLEW_FUN_EXPORT PFNGLGETNPIXELMAPUSVARBPROC __glewGetnPixelMapusvARB; +GLEW_FUN_EXPORT PFNGLGETNPOLYGONSTIPPLEARBPROC __glewGetnPolygonStippleARB; +GLEW_FUN_EXPORT PFNGLGETNSEPARABLEFILTERARBPROC __glewGetnSeparableFilterARB; +GLEW_FUN_EXPORT PFNGLGETNTEXIMAGEARBPROC __glewGetnTexImageARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMDVARBPROC __glewGetnUniformdvARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMFVARBPROC __glewGetnUniformfvARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMIVARBPROC __glewGetnUniformivARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMUIVARBPROC __glewGetnUniformuivARB; +GLEW_FUN_EXPORT PFNGLREADNPIXELSARBPROC __glewReadnPixelsARB; + +GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGARBPROC __glewMinSampleShadingARB; + +GLEW_FUN_EXPORT PFNGLBINDSAMPLERPROC __glewBindSampler; +GLEW_FUN_EXPORT PFNGLDELETESAMPLERSPROC __glewDeleteSamplers; +GLEW_FUN_EXPORT PFNGLGENSAMPLERSPROC __glewGenSamplers; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIIVPROC __glewGetSamplerParameterIiv; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIUIVPROC __glewGetSamplerParameterIuiv; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERFVPROC __glewGetSamplerParameterfv; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIVPROC __glewGetSamplerParameteriv; +GLEW_FUN_EXPORT PFNGLISSAMPLERPROC __glewIsSampler; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIIVPROC __glewSamplerParameterIiv; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIUIVPROC __glewSamplerParameterIuiv; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFPROC __glewSamplerParameterf; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFVPROC __glewSamplerParameterfv; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIPROC __glewSamplerParameteri; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIVPROC __glewSamplerParameteriv; + +GLEW_FUN_EXPORT PFNGLACTIVESHADERPROGRAMPROC __glewActiveShaderProgram; +GLEW_FUN_EXPORT PFNGLBINDPROGRAMPIPELINEPROC __glewBindProgramPipeline; +GLEW_FUN_EXPORT PFNGLCREATESHADERPROGRAMVPROC __glewCreateShaderProgramv; +GLEW_FUN_EXPORT PFNGLDELETEPROGRAMPIPELINESPROC __glewDeleteProgramPipelines; +GLEW_FUN_EXPORT PFNGLGENPROGRAMPIPELINESPROC __glewGenProgramPipelines; +GLEW_FUN_EXPORT PFNGLGETPROGRAMPIPELINEINFOLOGPROC __glewGetProgramPipelineInfoLog; +GLEW_FUN_EXPORT PFNGLGETPROGRAMPIPELINEIVPROC __glewGetProgramPipelineiv; +GLEW_FUN_EXPORT PFNGLISPROGRAMPIPELINEPROC __glewIsProgramPipeline; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1DPROC __glewProgramUniform1d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1DVPROC __glewProgramUniform1dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FPROC __glewProgramUniform1f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FVPROC __glewProgramUniform1fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IPROC __glewProgramUniform1i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IVPROC __glewProgramUniform1iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIPROC __glewProgramUniform1ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIVPROC __glewProgramUniform1uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2DPROC __glewProgramUniform2d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2DVPROC __glewProgramUniform2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FPROC __glewProgramUniform2f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FVPROC __glewProgramUniform2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IPROC __glewProgramUniform2i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IVPROC __glewProgramUniform2iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIPROC __glewProgramUniform2ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIVPROC __glewProgramUniform2uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3DPROC __glewProgramUniform3d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3DVPROC __glewProgramUniform3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FPROC __glewProgramUniform3f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FVPROC __glewProgramUniform3fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IPROC __glewProgramUniform3i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IVPROC __glewProgramUniform3iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIPROC __glewProgramUniform3ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIVPROC __glewProgramUniform3uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4DPROC __glewProgramUniform4d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4DVPROC __glewProgramUniform4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FPROC __glewProgramUniform4f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FVPROC __glewProgramUniform4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IPROC __glewProgramUniform4i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IVPROC __glewProgramUniform4iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIPROC __glewProgramUniform4ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIVPROC __glewProgramUniform4uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2DVPROC __glewProgramUniformMatrix2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVPROC __glewProgramUniformMatrix2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC __glewProgramUniformMatrix2x3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC __glewProgramUniformMatrix2x3fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC __glewProgramUniformMatrix2x4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC __glewProgramUniformMatrix2x4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3DVPROC __glewProgramUniformMatrix3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVPROC __glewProgramUniformMatrix3fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC __glewProgramUniformMatrix3x2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC __glewProgramUniformMatrix3x2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC __glewProgramUniformMatrix3x4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC __glewProgramUniformMatrix3x4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4DVPROC __glewProgramUniformMatrix4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVPROC __glewProgramUniformMatrix4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC __glewProgramUniformMatrix4x2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC __glewProgramUniformMatrix4x2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC __glewProgramUniformMatrix4x3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC __glewProgramUniformMatrix4x3fv; +GLEW_FUN_EXPORT PFNGLUSEPROGRAMSTAGESPROC __glewUseProgramStages; +GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMPIPELINEPROC __glewValidateProgramPipeline; + +GLEW_FUN_EXPORT PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC __glewGetActiveAtomicCounterBufferiv; + +GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTUREPROC __glewBindImageTexture; +GLEW_FUN_EXPORT PFNGLMEMORYBARRIERPROC __glewMemoryBarrier; + GLEW_FUN_EXPORT PFNGLATTACHOBJECTARBPROC __glewAttachObjectARB; GLEW_FUN_EXPORT PFNGLCOMPILESHADERARBPROC __glewCompileShaderARB; GLEW_FUN_EXPORT PFNGLCREATEPROGRAMOBJECTARBPROC __glewCreateProgramObjectARB; @@ -9415,6 +14114,35 @@ GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVARBPROC __glewUniformMatrix4fvARB; GLEW_FUN_EXPORT PFNGLUSEPROGRAMOBJECTARBPROC __glewUseProgramObjectARB; GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMARBPROC __glewValidateProgramARB; +GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINENAMEPROC __glewGetActiveSubroutineName; +GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC __glewGetActiveSubroutineUniformName; +GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC __glewGetActiveSubroutineUniformiv; +GLEW_FUN_EXPORT PFNGLGETPROGRAMSTAGEIVPROC __glewGetProgramStageiv; +GLEW_FUN_EXPORT PFNGLGETSUBROUTINEINDEXPROC __glewGetSubroutineIndex; +GLEW_FUN_EXPORT PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC __glewGetSubroutineUniformLocation; +GLEW_FUN_EXPORT PFNGLGETUNIFORMSUBROUTINEUIVPROC __glewGetUniformSubroutineuiv; +GLEW_FUN_EXPORT PFNGLUNIFORMSUBROUTINESUIVPROC __glewUniformSubroutinesuiv; + +GLEW_FUN_EXPORT PFNGLCOMPILESHADERINCLUDEARBPROC __glewCompileShaderIncludeARB; +GLEW_FUN_EXPORT PFNGLDELETENAMEDSTRINGARBPROC __glewDeleteNamedStringARB; +GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGARBPROC __glewGetNamedStringARB; +GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGIVARBPROC __glewGetNamedStringivARB; +GLEW_FUN_EXPORT PFNGLISNAMEDSTRINGARBPROC __glewIsNamedStringARB; +GLEW_FUN_EXPORT PFNGLNAMEDSTRINGARBPROC __glewNamedStringARB; + +GLEW_FUN_EXPORT PFNGLCLIENTWAITSYNCPROC __glewClientWaitSync; +GLEW_FUN_EXPORT PFNGLDELETESYNCPROC __glewDeleteSync; +GLEW_FUN_EXPORT PFNGLFENCESYNCPROC __glewFenceSync; +GLEW_FUN_EXPORT PFNGLGETINTEGER64VPROC __glewGetInteger64v; +GLEW_FUN_EXPORT PFNGLGETSYNCIVPROC __glewGetSynciv; +GLEW_FUN_EXPORT PFNGLISSYNCPROC __glewIsSync; +GLEW_FUN_EXPORT PFNGLWAITSYNCPROC __glewWaitSync; + +GLEW_FUN_EXPORT PFNGLPATCHPARAMETERFVPROC __glewPatchParameterfv; +GLEW_FUN_EXPORT PFNGLPATCHPARAMETERIPROC __glewPatchParameteri; + +GLEW_FUN_EXPORT PFNGLTEXBUFFERARBPROC __glewTexBufferARB; + GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DARBPROC __glewCompressedTexImage1DARB; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DARBPROC __glewCompressedTexImage2DARB; GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DARBPROC __glewCompressedTexImage3DARB; @@ -9423,11 +14151,70 @@ GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC __glewCompressedTexSubImage2 GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB; GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB; +GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVPROC __glewGetMultisamplefv; +GLEW_FUN_EXPORT PFNGLSAMPLEMASKIPROC __glewSampleMaski; +GLEW_FUN_EXPORT PFNGLTEXIMAGE2DMULTISAMPLEPROC __glewTexImage2DMultisample; +GLEW_FUN_EXPORT PFNGLTEXIMAGE3DMULTISAMPLEPROC __glewTexImage3DMultisample; + +GLEW_FUN_EXPORT PFNGLTEXSTORAGE1DPROC __glewTexStorage1D; +GLEW_FUN_EXPORT PFNGLTEXSTORAGE2DPROC __glewTexStorage2D; +GLEW_FUN_EXPORT PFNGLTEXSTORAGE3DPROC __glewTexStorage3D; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE1DEXTPROC __glewTextureStorage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE2DEXTPROC __glewTextureStorage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE3DEXTPROC __glewTextureStorage3DEXT; + +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VPROC __glewGetQueryObjecti64v; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VPROC __glewGetQueryObjectui64v; +GLEW_FUN_EXPORT PFNGLQUERYCOUNTERPROC __glewQueryCounter; + +GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKPROC __glewBindTransformFeedback; +GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSPROC __glewDeleteTransformFeedbacks; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKPROC __glewDrawTransformFeedback; +GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSPROC __glewGenTransformFeedbacks; +GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKPROC __glewIsTransformFeedback; +GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKPROC __glewPauseTransformFeedback; +GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKPROC __glewResumeTransformFeedback; + +GLEW_FUN_EXPORT PFNGLBEGINQUERYINDEXEDPROC __glewBeginQueryIndexed; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC __glewDrawTransformFeedbackStream; +GLEW_FUN_EXPORT PFNGLENDQUERYINDEXEDPROC __glewEndQueryIndexed; +GLEW_FUN_EXPORT PFNGLGETQUERYINDEXEDIVPROC __glewGetQueryIndexediv; + +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC __glewDrawTransformFeedbackInstanced; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC __glewDrawTransformFeedbackStreamInstanced; + GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB; GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB; GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB; GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfARB; +GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEPROC __glewBindBufferBase; +GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEPROC __glewBindBufferRange; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC __glewGetActiveUniformBlockName; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVPROC __glewGetActiveUniformBlockiv; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMNAMEPROC __glewGetActiveUniformName; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMSIVPROC __glewGetActiveUniformsiv; +GLEW_FUN_EXPORT PFNGLGETINTEGERI_VPROC __glewGetIntegeri_v; +GLEW_FUN_EXPORT PFNGLGETUNIFORMBLOCKINDEXPROC __glewGetUniformBlockIndex; +GLEW_FUN_EXPORT PFNGLGETUNIFORMINDICESPROC __glewGetUniformIndices; +GLEW_FUN_EXPORT PFNGLUNIFORMBLOCKBINDINGPROC __glewUniformBlockBinding; + +GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYPROC __glewBindVertexArray; +GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSPROC __glewDeleteVertexArrays; +GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSPROC __glewGenVertexArrays; +GLEW_FUN_EXPORT PFNGLISVERTEXARRAYPROC __glewIsVertexArray; + +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLDVPROC __glewGetVertexAttribLdv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DPROC __glewVertexAttribL1d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DVPROC __glewVertexAttribL1dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DPROC __glewVertexAttribL2d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DVPROC __glewVertexAttribL2dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DPROC __glewVertexAttribL3d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DVPROC __glewVertexAttribL3dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DPROC __glewVertexAttribL4d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DVPROC __glewVertexAttribL4dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLPOINTERPROC __glewVertexAttribLPointer; + GLEW_FUN_EXPORT PFNGLVERTEXBLENDARBPROC __glewVertexBlendARB; GLEW_FUN_EXPORT PFNGLWEIGHTPOINTERARBPROC __glewWeightPointerARB; GLEW_FUN_EXPORT PFNGLWEIGHTBVARBPROC __glewWeightbvARB; @@ -9518,6 +14305,56 @@ GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONARBPROC __glewBindAttribLocationARB; GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBARBPROC __glewGetActiveAttribARB; GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONARBPROC __glewGetAttribLocationARB; +GLEW_FUN_EXPORT PFNGLCOLORP3UIPROC __glewColorP3ui; +GLEW_FUN_EXPORT PFNGLCOLORP3UIVPROC __glewColorP3uiv; +GLEW_FUN_EXPORT PFNGLCOLORP4UIPROC __glewColorP4ui; +GLEW_FUN_EXPORT PFNGLCOLORP4UIVPROC __glewColorP4uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIPROC __glewMultiTexCoordP1ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIVPROC __glewMultiTexCoordP1uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIPROC __glewMultiTexCoordP2ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIVPROC __glewMultiTexCoordP2uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIPROC __glewMultiTexCoordP3ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIVPROC __glewMultiTexCoordP3uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIPROC __glewMultiTexCoordP4ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIVPROC __glewMultiTexCoordP4uiv; +GLEW_FUN_EXPORT PFNGLNORMALP3UIPROC __glewNormalP3ui; +GLEW_FUN_EXPORT PFNGLNORMALP3UIVPROC __glewNormalP3uiv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIPROC __glewSecondaryColorP3ui; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIVPROC __glewSecondaryColorP3uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIPROC __glewTexCoordP1ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIVPROC __glewTexCoordP1uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIPROC __glewTexCoordP2ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIVPROC __glewTexCoordP2uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIPROC __glewTexCoordP3ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIVPROC __glewTexCoordP3uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIPROC __glewTexCoordP4ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIVPROC __glewTexCoordP4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIPROC __glewVertexAttribP1ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIVPROC __glewVertexAttribP1uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIPROC __glewVertexAttribP2ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIVPROC __glewVertexAttribP2uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIPROC __glewVertexAttribP3ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIVPROC __glewVertexAttribP3uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIPROC __glewVertexAttribP4ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIVPROC __glewVertexAttribP4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXP2UIPROC __glewVertexP2ui; +GLEW_FUN_EXPORT PFNGLVERTEXP2UIVPROC __glewVertexP2uiv; +GLEW_FUN_EXPORT PFNGLVERTEXP3UIPROC __glewVertexP3ui; +GLEW_FUN_EXPORT PFNGLVERTEXP3UIVPROC __glewVertexP3uiv; +GLEW_FUN_EXPORT PFNGLVERTEXP4UIPROC __glewVertexP4ui; +GLEW_FUN_EXPORT PFNGLVERTEXP4UIVPROC __glewVertexP4uiv; + +GLEW_FUN_EXPORT PFNGLDEPTHRANGEARRAYVPROC __glewDepthRangeArrayv; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEINDEXEDPROC __glewDepthRangeIndexed; +GLEW_FUN_EXPORT PFNGLGETDOUBLEI_VPROC __glewGetDoublei_v; +GLEW_FUN_EXPORT PFNGLGETFLOATI_VPROC __glewGetFloati_v; +GLEW_FUN_EXPORT PFNGLSCISSORARRAYVPROC __glewScissorArrayv; +GLEW_FUN_EXPORT PFNGLSCISSORINDEXEDPROC __glewScissorIndexed; +GLEW_FUN_EXPORT PFNGLSCISSORINDEXEDVPROC __glewScissorIndexedv; +GLEW_FUN_EXPORT PFNGLVIEWPORTARRAYVPROC __glewViewportArrayv; +GLEW_FUN_EXPORT PFNGLVIEWPORTINDEXEDFPROC __glewViewportIndexedf; +GLEW_FUN_EXPORT PFNGLVIEWPORTINDEXEDFVPROC __glewViewportIndexedfv; + GLEW_FUN_EXPORT PFNGLWINDOWPOS2DARBPROC __glewWindowPos2dARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVARBPROC __glewWindowPos2dvARB; GLEW_FUN_EXPORT PFNGLWINDOWPOS2FARBPROC __glewWindowPos2fARB; @@ -9564,8 +14401,8 @@ GLEW_FUN_EXPORT PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderCon GLEW_FUN_EXPORT PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI; GLEW_FUN_EXPORT PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI; -GLEW_FUN_EXPORT PFNGLPNTRIANGLESFATIPROC __glPNTrianglewesfATI; -GLEW_FUN_EXPORT PFNGLPNTRIANGLESIATIPROC __glPNTrianglewesiATI; +GLEW_FUN_EXPORT PFNGLPNTRIANGLESFATIPROC __glewPNTrianglesfATI; +GLEW_FUN_EXPORT PFNGLPNTRIANGLESIATIPROC __glewPNTrianglesiATI; GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI; GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI; @@ -9671,6 +14508,220 @@ GLEW_FUN_EXPORT PFNGLCULLPARAMETERFVEXTPROC __glewCullParameterfvEXT; GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSEXTPROC __glewDepthBoundsEXT; +GLEW_FUN_EXPORT PFNGLBINDMULTITEXTUREEXTPROC __glewBindMultiTextureEXT; +GLEW_FUN_EXPORT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC __glewCheckNamedFramebufferStatusEXT; +GLEW_FUN_EXPORT PFNGLCLIENTATTRIBDEFAULTEXTPROC __glewClientAttribDefaultEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC __glewCompressedMultiTexImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC __glewCompressedMultiTexImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC __glewCompressedMultiTexImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC __glewCompressedMultiTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC __glewCompressedMultiTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC __glewCompressedMultiTexSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC __glewCompressedTextureImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC __glewCompressedTextureImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC __glewCompressedTextureImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC __glewCompressedTextureSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC __glewCompressedTextureSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC __glewCompressedTextureSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE1DEXTPROC __glewCopyMultiTexImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE2DEXTPROC __glewCopyMultiTexImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC __glewCopyMultiTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC __glewCopyMultiTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC __glewCopyMultiTexSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE1DEXTPROC __glewCopyTextureImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE2DEXTPROC __glewCopyTextureImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC __glewCopyTextureSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC __glewCopyTextureSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC __glewCopyTextureSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC __glewDisableClientStateIndexedEXT; +GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEIEXTPROC __glewDisableClientStateiEXT; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC __glewDisableVertexArrayAttribEXT; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYEXTPROC __glewDisableVertexArrayEXT; +GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEINDEXEDEXTPROC __glewEnableClientStateIndexedEXT; +GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEIEXTPROC __glewEnableClientStateiEXT; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYATTRIBEXTPROC __glewEnableVertexArrayAttribEXT; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYEXTPROC __glewEnableVertexArrayEXT; +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC __glewFlushMappedNamedBufferRangeEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC __glewFramebufferDrawBufferEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC __glewFramebufferDrawBuffersEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERREADBUFFEREXTPROC __glewFramebufferReadBufferEXT; +GLEW_FUN_EXPORT PFNGLGENERATEMULTITEXMIPMAPEXTPROC __glewGenerateMultiTexMipmapEXT; +GLEW_FUN_EXPORT PFNGLGENERATETEXTUREMIPMAPEXTPROC __glewGenerateTextureMipmapEXT; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC __glewGetCompressedMultiTexImageEXT; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC __glewGetCompressedTextureImageEXT; +GLEW_FUN_EXPORT PFNGLGETDOUBLEINDEXEDVEXTPROC __glewGetDoubleIndexedvEXT; +GLEW_FUN_EXPORT PFNGLGETDOUBLEI_VEXTPROC __glewGetDoublei_vEXT; +GLEW_FUN_EXPORT PFNGLGETFLOATINDEXEDVEXTPROC __glewGetFloatIndexedvEXT; +GLEW_FUN_EXPORT PFNGLGETFLOATI_VEXTPROC __glewGetFloati_vEXT; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC __glewGetFramebufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXENVFVEXTPROC __glewGetMultiTexEnvfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXENVIVEXTPROC __glewGetMultiTexEnvivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXGENDVEXTPROC __glewGetMultiTexGendvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXGENFVEXTPROC __glewGetMultiTexGenfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXGENIVEXTPROC __glewGetMultiTexGenivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXIMAGEEXTPROC __glewGetMultiTexImageEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC __glewGetMultiTexLevelParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC __glewGetMultiTexLevelParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIIVEXTPROC __glewGetMultiTexParameterIivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIUIVEXTPROC __glewGetMultiTexParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERFVEXTPROC __glewGetMultiTexParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIVEXTPROC __glewGetMultiTexParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC __glewGetNamedBufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPOINTERVEXTPROC __glewGetNamedBufferPointervEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERSUBDATAEXTPROC __glewGetNamedBufferSubDataEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetNamedFramebufferAttachmentParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC __glewGetNamedProgramLocalParameterIivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC __glewGetNamedProgramLocalParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC __glewGetNamedProgramLocalParameterdvEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC __glewGetNamedProgramLocalParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMSTRINGEXTPROC __glewGetNamedProgramStringEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMIVEXTPROC __glewGetNamedProgramivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC __glewGetNamedRenderbufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETPOINTERINDEXEDVEXTPROC __glewGetPointerIndexedvEXT; +GLEW_FUN_EXPORT PFNGLGETPOINTERI_VEXTPROC __glewGetPointeri_vEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREIMAGEEXTPROC __glewGetTextureImageEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC __glewGetTextureLevelParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC __glewGetTextureLevelParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIIVEXTPROC __glewGetTextureParameterIivEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIUIVEXTPROC __glewGetTextureParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERFVEXTPROC __glewGetTextureParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIVEXTPROC __glewGetTextureParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC __glewGetVertexArrayIntegeri_vEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERVEXTPROC __glewGetVertexArrayIntegervEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC __glewGetVertexArrayPointeri_vEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERVEXTPROC __glewGetVertexArrayPointervEXT; +GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFEREXTPROC __glewMapNamedBufferEXT; +GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFERRANGEEXTPROC __glewMapNamedBufferRangeEXT; +GLEW_FUN_EXPORT PFNGLMATRIXFRUSTUMEXTPROC __glewMatrixFrustumEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADIDENTITYEXTPROC __glewMatrixLoadIdentityEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEDEXTPROC __glewMatrixLoadTransposedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEFEXTPROC __glewMatrixLoadTransposefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADDEXTPROC __glewMatrixLoaddEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADFEXTPROC __glewMatrixLoadfEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEDEXTPROC __glewMatrixMultTransposedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEFEXTPROC __glewMatrixMultTransposefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTDEXTPROC __glewMatrixMultdEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTFEXTPROC __glewMatrixMultfEXT; +GLEW_FUN_EXPORT PFNGLMATRIXORTHOEXTPROC __glewMatrixOrthoEXT; +GLEW_FUN_EXPORT PFNGLMATRIXPOPEXTPROC __glewMatrixPopEXT; +GLEW_FUN_EXPORT PFNGLMATRIXPUSHEXTPROC __glewMatrixPushEXT; +GLEW_FUN_EXPORT PFNGLMATRIXROTATEDEXTPROC __glewMatrixRotatedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXROTATEFEXTPROC __glewMatrixRotatefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXSCALEDEXTPROC __glewMatrixScaledEXT; +GLEW_FUN_EXPORT PFNGLMATRIXSCALEFEXTPROC __glewMatrixScalefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEDEXTPROC __glewMatrixTranslatedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEFEXTPROC __glewMatrixTranslatefEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXBUFFEREXTPROC __glewMultiTexBufferEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDPOINTEREXTPROC __glewMultiTexCoordPointerEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVFEXTPROC __glewMultiTexEnvfEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVFVEXTPROC __glewMultiTexEnvfvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVIEXTPROC __glewMultiTexEnviEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVIVEXTPROC __glewMultiTexEnvivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENDEXTPROC __glewMultiTexGendEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENDVEXTPROC __glewMultiTexGendvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENFEXTPROC __glewMultiTexGenfEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENFVEXTPROC __glewMultiTexGenfvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENIEXTPROC __glewMultiTexGeniEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENIVEXTPROC __glewMultiTexGenivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE1DEXTPROC __glewMultiTexImage1DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE2DEXTPROC __glewMultiTexImage2DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE3DEXTPROC __glewMultiTexImage3DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIIVEXTPROC __glewMultiTexParameterIivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIUIVEXTPROC __glewMultiTexParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFEXTPROC __glewMultiTexParameterfEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFVEXTPROC __glewMultiTexParameterfvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIEXTPROC __glewMultiTexParameteriEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIVEXTPROC __glewMultiTexParameterivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXRENDERBUFFEREXTPROC __glewMultiTexRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE1DEXTPROC __glewMultiTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE2DEXTPROC __glewMultiTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE3DEXTPROC __glewMultiTexSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERDATAEXTPROC __glewNamedBufferDataEXT; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSUBDATAEXTPROC __glewNamedBufferSubDataEXT; +GLEW_FUN_EXPORT PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC __glewNamedCopyBufferSubDataEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC __glewNamedFramebufferRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC __glewNamedFramebufferTexture1DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC __glewNamedFramebufferTexture2DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC __glewNamedFramebufferTexture3DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC __glewNamedFramebufferTextureEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC __glewNamedFramebufferTextureFaceEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC __glewNamedFramebufferTextureLayerEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC __glewNamedProgramLocalParameter4dEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC __glewNamedProgramLocalParameter4dvEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC __glewNamedProgramLocalParameter4fEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC __glewNamedProgramLocalParameter4fvEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC __glewNamedProgramLocalParameterI4iEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC __glewNamedProgramLocalParameterI4ivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC __glewNamedProgramLocalParameterI4uiEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC __glewNamedProgramLocalParameterI4uivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC __glewNamedProgramLocalParameters4fvEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC __glewNamedProgramLocalParametersI4ivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC __glewNamedProgramLocalParametersI4uivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMSTRINGEXTPROC __glewNamedProgramStringEXT; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC __glewNamedRenderbufferStorageEXT; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC __glewNamedRenderbufferStorageMultisampleCoverageEXT; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewNamedRenderbufferStorageMultisampleEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FEXTPROC __glewProgramUniform1fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FVEXTPROC __glewProgramUniform1fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IEXTPROC __glewProgramUniform1iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IVEXTPROC __glewProgramUniform1ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIEXTPROC __glewProgramUniform1uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIVEXTPROC __glewProgramUniform1uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FEXTPROC __glewProgramUniform2fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FVEXTPROC __glewProgramUniform2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IEXTPROC __glewProgramUniform2iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IVEXTPROC __glewProgramUniform2ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIEXTPROC __glewProgramUniform2uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIVEXTPROC __glewProgramUniform2uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FEXTPROC __glewProgramUniform3fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FVEXTPROC __glewProgramUniform3fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IEXTPROC __glewProgramUniform3iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IVEXTPROC __glewProgramUniform3ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIEXTPROC __glewProgramUniform3uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIVEXTPROC __glewProgramUniform3uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FEXTPROC __glewProgramUniform4fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FVEXTPROC __glewProgramUniform4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IEXTPROC __glewProgramUniform4iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IVEXTPROC __glewProgramUniform4ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIEXTPROC __glewProgramUniform4uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIVEXTPROC __glewProgramUniform4uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC __glewProgramUniformMatrix2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC __glewProgramUniformMatrix2x3fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC __glewProgramUniformMatrix2x4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC __glewProgramUniformMatrix3fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC __glewProgramUniformMatrix3x2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC __glewProgramUniformMatrix3x4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC __glewProgramUniformMatrix4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC __glewProgramUniformMatrix4x2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC __glewProgramUniformMatrix4x3fvEXT; +GLEW_FUN_EXPORT PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC __glewPushClientAttribDefaultEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREBUFFEREXTPROC __glewTextureBufferEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE1DEXTPROC __glewTextureImage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DEXTPROC __glewTextureImage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DEXTPROC __glewTextureImage3DEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIIVEXTPROC __glewTextureParameterIivEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIUIVEXTPROC __glewTextureParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFEXTPROC __glewTextureParameterfEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFVEXTPROC __glewTextureParameterfvEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIEXTPROC __glewTextureParameteriEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIVEXTPROC __glewTextureParameterivEXT; +GLEW_FUN_EXPORT PFNGLTEXTURERENDERBUFFEREXTPROC __glewTextureRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE1DEXTPROC __glewTextureSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE2DEXTPROC __glewTextureSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE3DEXTPROC __glewTextureSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLUNMAPNAMEDBUFFEREXTPROC __glewUnmapNamedBufferEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYCOLOROFFSETEXTPROC __glewVertexArrayColorOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC __glewVertexArrayEdgeFlagOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC __glewVertexArrayFogCoordOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYINDEXOFFSETEXTPROC __glewVertexArrayIndexOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC __glewVertexArrayMultiTexCoordOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYNORMALOFFSETEXTPROC __glewVertexArrayNormalOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC __glewVertexArraySecondaryColorOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC __glewVertexArrayTexCoordOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC __glewVertexArrayVertexAttribIOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC __glewVertexArrayVertexAttribOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC __glewVertexArrayVertexOffsetEXT; + GLEW_FUN_EXPORT PFNGLCOLORMASKINDEXEDEXTPROC __glewColorMaskIndexedEXT; GLEW_FUN_EXPORT PFNGLDISABLEINDEXEDEXTPROC __glewDisableIndexedEXT; GLEW_FUN_EXPORT PFNGLENABLEINDEXEDEXTPROC __glewEnableIndexedEXT; @@ -9732,7 +14783,6 @@ GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT; GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT; GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT; @@ -9815,6 +14865,8 @@ GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVEXTPROC __glewPointParameterfvEXT; GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETEXTPROC __glewPolygonOffsetEXT; +GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXEXTPROC __glewProvokingVertexEXT; + GLEW_FUN_EXPORT PFNGLBEGINSCENEEXTPROC __glewBeginSceneEXT; GLEW_FUN_EXPORT PFNGLENDSCENEEXTPROC __glewEndSceneEXT; @@ -9836,6 +14888,13 @@ GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USEXTPROC __glewSecondaryColor3usEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVEXTPROC __glewSecondaryColor3usvEXT; GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTEREXTPROC __glewSecondaryColorPointerEXT; +GLEW_FUN_EXPORT PFNGLACTIVEPROGRAMEXTPROC __glewActiveProgramEXT; +GLEW_FUN_EXPORT PFNGLCREATESHADERPROGRAMEXTPROC __glewCreateShaderProgramEXT; +GLEW_FUN_EXPORT PFNGLUSESHADERPROGRAMEXTPROC __glewUseShaderProgramEXT; + +GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTUREEXTPROC __glewBindImageTextureEXT; +GLEW_FUN_EXPORT PFNGLMEMORYBARRIEREXTPROC __glewMemoryBarrierEXT; + GLEW_FUN_EXPORT PFNGLACTIVESTENCILFACEEXTPROC __glewActiveStencilFaceEXT; GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE1DEXTPROC __glewTexSubImage1DEXT; @@ -9844,6 +14903,8 @@ GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT; GLEW_FUN_EXPORT PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT; + GLEW_FUN_EXPORT PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT; GLEW_FUN_EXPORT PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT; @@ -9865,16 +14926,35 @@ GLEW_FUN_EXPORT PFNGLTEXTURENORMALEXTPROC __glewTextureNormalEXT; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VEXTPROC __glewGetQueryObjecti64vEXT; GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VEXTPROC __glewGetQueryObjectui64vEXT; +GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKEXTPROC __glewBeginTransformFeedbackEXT; +GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEEXTPROC __glewBindBufferBaseEXT; +GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETEXTPROC __glewBindBufferOffsetEXT; +GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEEXTPROC __glewBindBufferRangeEXT; +GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKEXTPROC __glewEndTransformFeedbackEXT; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC __glewGetTransformFeedbackVaryingEXT; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC __glewTransformFeedbackVaryingsEXT; + GLEW_FUN_EXPORT PFNGLARRAYELEMENTEXTPROC __glewArrayElementEXT; GLEW_FUN_EXPORT PFNGLCOLORPOINTEREXTPROC __glewColorPointerEXT; GLEW_FUN_EXPORT PFNGLDRAWARRAYSEXTPROC __glewDrawArraysEXT; GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTEREXTPROC __glewEdgeFlagPointerEXT; -GLEW_FUN_EXPORT PFNGLGETPOINTERVEXTPROC __glewGetPointervEXT; GLEW_FUN_EXPORT PFNGLINDEXPOINTEREXTPROC __glewIndexPointerEXT; GLEW_FUN_EXPORT PFNGLNORMALPOINTEREXTPROC __glewNormalPointerEXT; GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTEREXTPROC __glewTexCoordPointerEXT; GLEW_FUN_EXPORT PFNGLVERTEXPOINTEREXTPROC __glewVertexPointerEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLDVEXTPROC __glewGetVertexAttribLdvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC __glewVertexArrayVertexAttribLOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DEXTPROC __glewVertexAttribL1dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DVEXTPROC __glewVertexAttribL1dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DEXTPROC __glewVertexAttribL2dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DVEXTPROC __glewVertexAttribL2dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DEXTPROC __glewVertexAttribL3dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DVEXTPROC __glewVertexAttribL3dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DEXTPROC __glewVertexAttribL4dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DVEXTPROC __glewVertexAttribL4dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLPOINTEREXTPROC __glewVertexAttribLPointerEXT; + GLEW_FUN_EXPORT PFNGLBEGINVERTEXSHADEREXTPROC __glewBeginVertexShaderEXT; GLEW_FUN_EXPORT PFNGLBINDLIGHTPARAMETEREXTPROC __glewBindLightParameterEXT; GLEW_FUN_EXPORT PFNGLBINDMATERIALPARAMETEREXTPROC __glewBindMaterialParameterEXT; @@ -9922,6 +15002,10 @@ GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT; GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT; GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT; +GLEW_FUN_EXPORT PFNGLIMPORTSYNCEXTPROC __glewImportSyncEXT; + +GLEW_FUN_EXPORT PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY; + GLEW_FUN_EXPORT PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY; GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC __glewGetImageTransformParameterfvHP; @@ -9951,11 +15035,11 @@ GLEW_FUN_EXPORT PFNGLVERTEXPOINTERVINTELPROC __glewVertexPointervINTEL; GLEW_FUN_EXPORT PFNGLTEXSCISSORFUNCINTELPROC __glewTexScissorFuncINTEL; GLEW_FUN_EXPORT PFNGLTEXSCISSORINTELPROC __glewTexScissorINTEL; -GLEW_FUN_EXPORT PFNGLBUFFERREGIONENABLEDEXTPROC __glewBufferRegionEnabledEXT; -GLEW_FUN_EXPORT PFNGLDELETEBUFFERREGIONEXTPROC __glewDeleteBufferRegionEXT; -GLEW_FUN_EXPORT PFNGLDRAWBUFFERREGIONEXTPROC __glewDrawBufferRegionEXT; -GLEW_FUN_EXPORT PFNGLNEWBUFFERREGIONEXTPROC __glewNewBufferRegionEXT; -GLEW_FUN_EXPORT PFNGLREADBUFFERREGIONEXTPROC __glewReadBufferRegionEXT; +GLEW_FUN_EXPORT PFNGLBUFFERREGIONENABLEDPROC __glewBufferRegionEnabled; +GLEW_FUN_EXPORT PFNGLDELETEBUFFERREGIONPROC __glewDeleteBufferRegion; +GLEW_FUN_EXPORT PFNGLDRAWBUFFERREGIONPROC __glewDrawBufferRegion; +GLEW_FUN_EXPORT PFNGLNEWBUFFERREGIONPROC __glewNewBufferRegion; +GLEW_FUN_EXPORT PFNGLREADBUFFERREGIONPROC __glewReadBufferRegion; GLEW_FUN_EXPORT PFNGLRESIZEBUFFERSMESAPROC __glewResizeBuffersMESA; @@ -9984,6 +15068,11 @@ GLEW_FUN_EXPORT PFNGLWINDOWPOS4IVMESAPROC __glewWindowPos4ivMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS4SMESAPROC __glewWindowPos4sMESA; GLEW_FUN_EXPORT PFNGLWINDOWPOS4SVMESAPROC __glewWindowPos4svMESA; +GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERNVPROC __glewBeginConditionalRenderNV; +GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERNVPROC __glewEndConditionalRenderNV; + +GLEW_FUN_EXPORT PFNGLCOPYIMAGESUBDATANVPROC __glewCopyImageSubDataNV; + GLEW_FUN_EXPORT PFNGLCLEARDEPTHDNVPROC __glewClearDepthdNV; GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSDNVPROC __glewDepthBoundsdNV; GLEW_FUN_EXPORT PFNGLDEPTHRANGEDNVPROC __glewDepthRangedNV; @@ -9998,6 +15087,10 @@ GLEW_FUN_EXPORT PFNGLMAPCONTROLPOINTSNVPROC __glewMapControlPointsNV; GLEW_FUN_EXPORT PFNGLMAPPARAMETERFVNVPROC __glewMapParameterfvNV; GLEW_FUN_EXPORT PFNGLMAPPARAMETERIVNVPROC __glewMapParameterivNV; +GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVNVPROC __glewGetMultisamplefvNV; +GLEW_FUN_EXPORT PFNGLSAMPLEMASKINDEXEDNVPROC __glewSampleMaskIndexedNV; +GLEW_FUN_EXPORT PFNGLTEXRENDERBUFFERNVPROC __glewTexRenderbufferNV; + GLEW_FUN_EXPORT PFNGLDELETEFENCESNVPROC __glewDeleteFencesNV; GLEW_FUN_EXPORT PFNGLFINISHFENCENVPROC __glewFinishFenceNV; GLEW_FUN_EXPORT PFNGLGENFENCESNVPROC __glewGenFencesNV; @@ -10030,6 +15123,41 @@ GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC __glewProgramLocalParamete GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC __glewProgramLocalParametersI4ivNV; GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC __glewProgramLocalParametersI4uivNV; +GLEW_FUN_EXPORT PFNGLGETUNIFORMI64VNVPROC __glewGetUniformi64vNV; +GLEW_FUN_EXPORT PFNGLGETUNIFORMUI64VNVPROC __glewGetUniformui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64NVPROC __glewProgramUniform1i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64VNVPROC __glewProgramUniform1i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64NVPROC __glewProgramUniform1ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64VNVPROC __glewProgramUniform1ui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64NVPROC __glewProgramUniform2i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64VNVPROC __glewProgramUniform2i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64NVPROC __glewProgramUniform2ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64VNVPROC __glewProgramUniform2ui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64NVPROC __glewProgramUniform3i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64VNVPROC __glewProgramUniform3i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64NVPROC __glewProgramUniform3ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64VNVPROC __glewProgramUniform3ui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64NVPROC __glewProgramUniform4i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64VNVPROC __glewProgramUniform4i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64NVPROC __glewProgramUniform4ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64VNVPROC __glewProgramUniform4ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM1I64NVPROC __glewUniform1i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM1I64VNVPROC __glewUniform1i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM1UI64NVPROC __glewUniform1ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM1UI64VNVPROC __glewUniform1ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM2I64NVPROC __glewUniform2i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM2I64VNVPROC __glewUniform2i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM2UI64NVPROC __glewUniform2ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM2UI64VNVPROC __glewUniform2ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM3I64NVPROC __glewUniform3i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM3I64VNVPROC __glewUniform3i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM3UI64NVPROC __glewUniform3ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM3UI64VNVPROC __glewUniform3ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM4I64NVPROC __glewUniform4i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM4I64VNVPROC __glewUniform4i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM4UI64NVPROC __glewUniform4ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM4UI64VNVPROC __glewUniform4ui64vNV; + GLEW_FUN_EXPORT PFNGLCOLOR3HNVPROC __glewColor3hNV; GLEW_FUN_EXPORT PFNGLCOLOR3HVNVPROC __glewColor3hvNV; GLEW_FUN_EXPORT PFNGLCOLOR4HNVPROC __glewColor4hNV; @@ -10089,12 +15217,69 @@ GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC __glewProgramBufferParamet GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC __glewProgramBufferParametersIuivNV; GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC __glewProgramBufferParametersfvNV; +GLEW_FUN_EXPORT PFNGLCOPYPATHNVPROC __glewCopyPathNV; +GLEW_FUN_EXPORT PFNGLCOVERFILLPATHINSTANCEDNVPROC __glewCoverFillPathInstancedNV; +GLEW_FUN_EXPORT PFNGLCOVERFILLPATHNVPROC __glewCoverFillPathNV; +GLEW_FUN_EXPORT PFNGLCOVERSTROKEPATHINSTANCEDNVPROC __glewCoverStrokePathInstancedNV; +GLEW_FUN_EXPORT PFNGLCOVERSTROKEPATHNVPROC __glewCoverStrokePathNV; +GLEW_FUN_EXPORT PFNGLDELETEPATHSNVPROC __glewDeletePathsNV; +GLEW_FUN_EXPORT PFNGLGENPATHSNVPROC __glewGenPathsNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOLORGENFVNVPROC __glewGetPathColorGenfvNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOLORGENIVNVPROC __glewGetPathColorGenivNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOMMANDSNVPROC __glewGetPathCommandsNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOORDSNVPROC __glewGetPathCoordsNV; +GLEW_FUN_EXPORT PFNGLGETPATHDASHARRAYNVPROC __glewGetPathDashArrayNV; +GLEW_FUN_EXPORT PFNGLGETPATHLENGTHNVPROC __glewGetPathLengthNV; +GLEW_FUN_EXPORT PFNGLGETPATHMETRICRANGENVPROC __glewGetPathMetricRangeNV; +GLEW_FUN_EXPORT PFNGLGETPATHMETRICSNVPROC __glewGetPathMetricsNV; +GLEW_FUN_EXPORT PFNGLGETPATHPARAMETERFVNVPROC __glewGetPathParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETPATHPARAMETERIVNVPROC __glewGetPathParameterivNV; +GLEW_FUN_EXPORT PFNGLGETPATHSPACINGNVPROC __glewGetPathSpacingNV; +GLEW_FUN_EXPORT PFNGLGETPATHTEXGENFVNVPROC __glewGetPathTexGenfvNV; +GLEW_FUN_EXPORT PFNGLGETPATHTEXGENIVNVPROC __glewGetPathTexGenivNV; +GLEW_FUN_EXPORT PFNGLINTERPOLATEPATHSNVPROC __glewInterpolatePathsNV; +GLEW_FUN_EXPORT PFNGLISPATHNVPROC __glewIsPathNV; +GLEW_FUN_EXPORT PFNGLISPOINTINFILLPATHNVPROC __glewIsPointInFillPathNV; +GLEW_FUN_EXPORT PFNGLISPOINTINSTROKEPATHNVPROC __glewIsPointInStrokePathNV; +GLEW_FUN_EXPORT PFNGLPATHCOLORGENNVPROC __glewPathColorGenNV; +GLEW_FUN_EXPORT PFNGLPATHCOMMANDSNVPROC __glewPathCommandsNV; +GLEW_FUN_EXPORT PFNGLPATHCOORDSNVPROC __glewPathCoordsNV; +GLEW_FUN_EXPORT PFNGLPATHCOVERDEPTHFUNCNVPROC __glewPathCoverDepthFuncNV; +GLEW_FUN_EXPORT PFNGLPATHDASHARRAYNVPROC __glewPathDashArrayNV; +GLEW_FUN_EXPORT PFNGLPATHFOGGENNVPROC __glewPathFogGenNV; +GLEW_FUN_EXPORT PFNGLPATHGLYPHRANGENVPROC __glewPathGlyphRangeNV; +GLEW_FUN_EXPORT PFNGLPATHGLYPHSNVPROC __glewPathGlyphsNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERFNVPROC __glewPathParameterfNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERFVNVPROC __glewPathParameterfvNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERINVPROC __glewPathParameteriNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERIVNVPROC __glewPathParameterivNV; +GLEW_FUN_EXPORT PFNGLPATHSTENCILDEPTHOFFSETNVPROC __glewPathStencilDepthOffsetNV; +GLEW_FUN_EXPORT PFNGLPATHSTENCILFUNCNVPROC __glewPathStencilFuncNV; +GLEW_FUN_EXPORT PFNGLPATHSTRINGNVPROC __glewPathStringNV; +GLEW_FUN_EXPORT PFNGLPATHSUBCOMMANDSNVPROC __glewPathSubCommandsNV; +GLEW_FUN_EXPORT PFNGLPATHSUBCOORDSNVPROC __glewPathSubCoordsNV; +GLEW_FUN_EXPORT PFNGLPATHTEXGENNVPROC __glewPathTexGenNV; +GLEW_FUN_EXPORT PFNGLPOINTALONGPATHNVPROC __glewPointAlongPathNV; +GLEW_FUN_EXPORT PFNGLSTENCILFILLPATHINSTANCEDNVPROC __glewStencilFillPathInstancedNV; +GLEW_FUN_EXPORT PFNGLSTENCILFILLPATHNVPROC __glewStencilFillPathNV; +GLEW_FUN_EXPORT PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC __glewStencilStrokePathInstancedNV; +GLEW_FUN_EXPORT PFNGLSTENCILSTROKEPATHNVPROC __glewStencilStrokePathNV; +GLEW_FUN_EXPORT PFNGLTRANSFORMPATHNVPROC __glewTransformPathNV; +GLEW_FUN_EXPORT PFNGLWEIGHTPATHSNVPROC __glewWeightPathsNV; + GLEW_FUN_EXPORT PFNGLFLUSHPIXELDATARANGENVPROC __glewFlushPixelDataRangeNV; GLEW_FUN_EXPORT PFNGLPIXELDATARANGENVPROC __glewPixelDataRangeNV; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERINVPROC __glewPointParameteriNV; GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVNVPROC __glewPointParameterivNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOI64VNVPROC __glewGetVideoi64vNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOIVNVPROC __glewGetVideoivNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV; +GLEW_FUN_EXPORT PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV; +GLEW_FUN_EXPORT PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV; + GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV; GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV; @@ -10115,6 +15300,29 @@ GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC __glewGetFinalCombin GLEW_FUN_EXPORT PFNGLCOMBINERSTAGEPARAMETERFVNVPROC __glewCombinerStageParameterfvNV; GLEW_FUN_EXPORT PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC __glewGetCombinerStageParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERUI64VNVPROC __glewGetBufferParameterui64vNV; +GLEW_FUN_EXPORT PFNGLGETINTEGERUI64VNVPROC __glewGetIntegerui64vNV; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC __glewGetNamedBufferParameterui64vNV; +GLEW_FUN_EXPORT PFNGLISBUFFERRESIDENTNVPROC __glewIsBufferResidentNV; +GLEW_FUN_EXPORT PFNGLISNAMEDBUFFERRESIDENTNVPROC __glewIsNamedBufferResidentNV; +GLEW_FUN_EXPORT PFNGLMAKEBUFFERNONRESIDENTNVPROC __glewMakeBufferNonResidentNV; +GLEW_FUN_EXPORT PFNGLMAKEBUFFERRESIDENTNVPROC __glewMakeBufferResidentNV; +GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC __glewMakeNamedBufferNonResidentNV; +GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERRESIDENTNVPROC __glewMakeNamedBufferResidentNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64NVPROC __glewProgramUniformui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64VNVPROC __glewProgramUniformui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORMUI64NVPROC __glewUniformui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORMUI64VNVPROC __glewUniformui64vNV; + +GLEW_FUN_EXPORT PFNGLTEXTUREBARRIERNVPROC __glewTextureBarrierNV; + +GLEW_FUN_EXPORT PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTexImage2DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTexImage3DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTextureImage2DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC __glewTextureImage2DMultisampleNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTextureImage3DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC __glewTextureImage3DMultisampleNV; + GLEW_FUN_EXPORT PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV; GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV; GLEW_FUN_EXPORT PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV; @@ -10127,9 +15335,61 @@ GLEW_FUN_EXPORT PFNGLGETVARYINGLOCATIONNVPROC __glewGetVaryingLocationNV; GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC __glewTransformFeedbackAttribsNV; GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC __glewTransformFeedbackVaryingsNV; +GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKNVPROC __glewBindTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSNVPROC __glewDeleteTransformFeedbacksNV; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKNVPROC __glewDrawTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSNVPROC __glewGenTransformFeedbacksNV; +GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKNVPROC __glewIsTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKNVPROC __glewPauseTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKNVPROC __glewResumeTransformFeedbackNV; + +GLEW_FUN_EXPORT PFNGLVDPAUFININVPROC __glewVDPAUFiniNV; +GLEW_FUN_EXPORT PFNGLVDPAUGETSURFACEIVNVPROC __glewVDPAUGetSurfaceivNV; +GLEW_FUN_EXPORT PFNGLVDPAUINITNVPROC __glewVDPAUInitNV; +GLEW_FUN_EXPORT PFNGLVDPAUISSURFACENVPROC __glewVDPAUIsSurfaceNV; +GLEW_FUN_EXPORT PFNGLVDPAUMAPSURFACESNVPROC __glewVDPAUMapSurfacesNV; +GLEW_FUN_EXPORT PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC __glewVDPAURegisterOutputSurfaceNV; +GLEW_FUN_EXPORT PFNGLVDPAUREGISTERVIDEOSURFACENVPROC __glewVDPAURegisterVideoSurfaceNV; +GLEW_FUN_EXPORT PFNGLVDPAUSURFACEACCESSNVPROC __glewVDPAUSurfaceAccessNV; +GLEW_FUN_EXPORT PFNGLVDPAUUNMAPSURFACESNVPROC __glewVDPAUUnmapSurfacesNV; +GLEW_FUN_EXPORT PFNGLVDPAUUNREGISTERSURFACENVPROC __glewVDPAUUnregisterSurfaceNV; + GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGENVPROC __glewFlushVertexArrayRangeNV; GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGENVPROC __glewVertexArrayRangeNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLI64VNVPROC __glewGetVertexAttribLi64vNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLUI64VNVPROC __glewGetVertexAttribLui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64NVPROC __glewVertexAttribL1i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64VNVPROC __glewVertexAttribL1i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64NVPROC __glewVertexAttribL1ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64VNVPROC __glewVertexAttribL1ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64NVPROC __glewVertexAttribL2i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64VNVPROC __glewVertexAttribL2i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64NVPROC __glewVertexAttribL2ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64VNVPROC __glewVertexAttribL2ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64NVPROC __glewVertexAttribL3i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64VNVPROC __glewVertexAttribL3i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64NVPROC __glewVertexAttribL3ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64VNVPROC __glewVertexAttribL3ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64NVPROC __glewVertexAttribL4i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64VNVPROC __glewVertexAttribL4i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64NVPROC __glewVertexAttribL4ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64VNVPROC __glewVertexAttribL4ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLFORMATNVPROC __glewVertexAttribLFormatNV; + +GLEW_FUN_EXPORT PFNGLBUFFERADDRESSRANGENVPROC __glewBufferAddressRangeNV; +GLEW_FUN_EXPORT PFNGLCOLORFORMATNVPROC __glewColorFormatNV; +GLEW_FUN_EXPORT PFNGLEDGEFLAGFORMATNVPROC __glewEdgeFlagFormatNV; +GLEW_FUN_EXPORT PFNGLFOGCOORDFORMATNVPROC __glewFogCoordFormatNV; +GLEW_FUN_EXPORT PFNGLGETINTEGERUI64I_VNVPROC __glewGetIntegerui64i_vNV; +GLEW_FUN_EXPORT PFNGLINDEXFORMATNVPROC __glewIndexFormatNV; +GLEW_FUN_EXPORT PFNGLNORMALFORMATNVPROC __glewNormalFormatNV; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORFORMATNVPROC __glewSecondaryColorFormatNV; +GLEW_FUN_EXPORT PFNGLTEXCOORDFORMATNVPROC __glewTexCoordFormatNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBFORMATNVPROC __glewVertexAttribFormatNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIFORMATNVPROC __glewVertexAttribIFormatNV; +GLEW_FUN_EXPORT PFNGLVERTEXFORMATNVPROC __glewVertexFormatNV; + GLEW_FUN_EXPORT PFNGLAREPROGRAMSRESIDENTNVPROC __glewAreProgramsResidentNV; GLEW_FUN_EXPORT PFNGLBINDPROGRAMNVPROC __glewBindProgramNV; GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSNVPROC __glewDeleteProgramsNV; @@ -10195,6 +15455,19 @@ GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV; GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV; +GLEW_FUN_EXPORT PFNGLBEGINVIDEOCAPTURENVPROC __glewBeginVideoCaptureNV; +GLEW_FUN_EXPORT PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC __glewBindVideoCaptureStreamBufferNV; +GLEW_FUN_EXPORT PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC __glewBindVideoCaptureStreamTextureNV; +GLEW_FUN_EXPORT PFNGLENDVIDEOCAPTURENVPROC __glewEndVideoCaptureNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMDVNVPROC __glewGetVideoCaptureStreamdvNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMFVNVPROC __glewGetVideoCaptureStreamfvNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMIVNVPROC __glewGetVideoCaptureStreamivNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTUREIVNVPROC __glewGetVideoCaptureivNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURENVPROC __glewVideoCaptureNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC __glewVideoCaptureStreamParameterdvNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC __glewVideoCaptureStreamParameterfvNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC __glewVideoCaptureStreamParameterivNV; + GLEW_FUN_EXPORT PFNGLCLEARDEPTHFOESPROC __glewClearDepthfOES; GLEW_FUN_EXPORT PFNGLCLIPPLANEFOESPROC __glewClipPlanefOES; GLEW_FUN_EXPORT PFNGLDEPTHRANGEFOESPROC __glewDepthRangefOES; @@ -10341,60 +15614,157 @@ struct GLEWContextStruct GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2_1; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_3; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_4; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_5; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_0; GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_0; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_2; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_3; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_0; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_2; GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_tbuffer; GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_texture_compression_FXT1; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_blend_minmax_factor; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_conservative_depth; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_debug_output; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_depth_clamp_separate; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_draw_buffers_blend; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_multi_draw_indirect; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_name_gen_delete; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_performance_monitor; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_sample_positions; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_seamless_cubemap_per_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_stencil_export; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_texture_texture4; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_transform_feedback3_lines_triangles; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_tessellator; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_aux_depth_stencil; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_client_storage; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_element_array; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_fence; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_float_pixels; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_flush_buffer_range; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_object_purgeable; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_pixel_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_rgb_422; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_row_bytes; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_specular_vector; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_range; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_transform_hint; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_object; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_range; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_program_evaluators; GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_ycbcr_422; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_ES2_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_base_instance; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_blend_func_extended; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_cl_event; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_color_buffer_float; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compressed_texture_pixel_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_conservative_depth; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_copy_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_debug_output; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_buffer_float; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_clamp; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_texture; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers_blend; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_elements_base_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_indirect; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_instanced; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_explicit_attrib_location; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_coord_conventions; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program_shadow; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_sRGB; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_geometry_shader4; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_get_program_binary; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader5; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader_fp64; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_pixel; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_vertex; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_imaging; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_instanced_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_internalformat_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_map_buffer_alignment; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_map_buffer_range; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_matrix_palette; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multitexture; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query2; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_pixel_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_parameters; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_sprite; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_provoking_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robustness; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sample_shading; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sampler_objects; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_seamless_cube_map; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_separate_shader_objects; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_atomic_counters; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_bit_encoding; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_image_load_store; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_objects; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_precision; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_stencil_export; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_subroutine; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_texture_lod; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_100; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_420pack; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_include; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_packing; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow_ambient; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sync; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_tessellation_shader; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_border_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object_rgb32; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_bptc; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_rgtc; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map_array; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_add; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_combine; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_crossbar; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_dot3; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_float; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_gather; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_mirrored_repeat; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_non_power_of_two; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_query_lod; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rectangle; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rg; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rgb10_a2ui; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_swizzle; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_timer_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback2; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback3; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback_instanced; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transpose_matrix; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_uniform_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_bgra; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_attrib_64bit; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_blend; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_buffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_program; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_type_2_10_10_10_rev; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_viewport_array; GLEW_VAR_EXPORT GLboolean __GLEW_ARB_window_pos; GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_point_sprites; GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_combine3; @@ -10405,6 +15775,7 @@ GLEW_VAR_EXPORT GLboolean __GLEW_ATI_element_array; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_envmap_bumpmap; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_fragment_shader; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_map_object_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_meminfo; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_pn_triangles; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_separate_stencil; GLEW_VAR_EXPORT GLboolean __GLEW_ATI_shader_texture_lod; @@ -10436,6 +15807,7 @@ GLEW_VAR_EXPORT GLboolean __GLEW_EXT_coordinate_frame; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_copy_texture; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cull_vertex; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_depth_bounds_test; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_direct_state_access; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_buffers2; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_instanced; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_range_elements; @@ -10443,6 +15815,7 @@ GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fog_coord; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fragment_lighting; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_blit; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample_blit_scaled; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_object; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_sRGB; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_geometry_shader4; @@ -10466,10 +15839,13 @@ GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform_color_table; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_point_parameters; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_polygon_offset; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_provoking_vertex; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_rescale_normal; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_scene_marker; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_secondary_color; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_shader_objects; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_specular_color; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_image_load_store; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shadow_funcs; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shared_texture_palette; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_clear_tag; @@ -10498,11 +15874,19 @@ GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_object; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_perturb_normal; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_rectangle; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB_decode; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_shared_exponent; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_snorm; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_swizzle; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_timer_query; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_transform_feedback; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array_bgra; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_attrib_64bit; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_shader; GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_weighting; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_x11_sync_object; +GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_frame_terminator; GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_string_marker; GLEW_VAR_EXPORT GLboolean __GLEW_HP_convolution_border_modes; GLEW_VAR_EXPORT GLboolean __GLEW_HP_image_transform; @@ -10524,12 +15908,16 @@ GLEW_VAR_EXPORT GLboolean __GLEW_MESA_pack_invert; GLEW_VAR_EXPORT GLboolean __GLEW_MESA_resize_buffers; GLEW_VAR_EXPORT GLboolean __GLEW_MESA_window_pos; GLEW_VAR_EXPORT GLboolean __GLEW_MESA_ycbcr_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_NVX_gpu_memory_info; GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_square; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_conditional_render; GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_depth_to_color; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_image; GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_buffer_float; GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_clamp; GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_range_unclamped; GLEW_VAR_EXPORT GLboolean __GLEW_NV_evaluators; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_explicit_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_NV_fence; GLEW_VAR_EXPORT GLboolean __GLEW_NV_float_buffer; GLEW_VAR_EXPORT GLboolean __GLEW_NV_fog_distance; @@ -10541,35 +15929,51 @@ GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_multisample_coverage; GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_program4; GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_shader4; GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program5; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program_fp64; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_shader5; GLEW_VAR_EXPORT GLboolean __GLEW_NV_half_float; GLEW_VAR_EXPORT GLboolean __GLEW_NV_light_max_exponent; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_multisample_coverage; GLEW_VAR_EXPORT GLboolean __GLEW_NV_multisample_filter_hint; GLEW_VAR_EXPORT GLboolean __GLEW_NV_occlusion_query; GLEW_VAR_EXPORT GLboolean __GLEW_NV_packed_depth_stencil; GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_path_rendering; GLEW_VAR_EXPORT GLboolean __GLEW_NV_pixel_data_range; GLEW_VAR_EXPORT GLboolean __GLEW_NV_point_sprite; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_present_video; GLEW_VAR_EXPORT GLboolean __GLEW_NV_primitive_restart; GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners; GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_buffer_load; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_tessellation_program5; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_emboss; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_reflection; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_barrier; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_compression_vtc; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_env_combine4; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_expand_normal; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_rectangle; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader2; GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader3; GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vdpau_interop; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_attrib_integer_64bit; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_buffer_unified_memory; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program1_1; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2_option; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program3; GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_video_capture; GLEW_VAR_EXPORT GLboolean __GLEW_OES_byte_coordinates; GLEW_VAR_EXPORT GLboolean __GLEW_OES_compressed_paletted_texture; GLEW_VAR_EXPORT GLboolean __GLEW_OES_read_format; @@ -10587,6 +15991,7 @@ GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_fog_function; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_generate_mipmap; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_multisample; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_pixel_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_point_line_texgen; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_sharpen_texture; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture4D; GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_border_clamp; @@ -10599,6 +16004,7 @@ GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_histogram; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_pixel; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_blend_alpha_minmax; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_clipmap; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_convolution_accuracy; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_depth_texture; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_flush_raster; GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_offset; @@ -10650,18 +16056,21 @@ GLEW_VAR_EXPORT GLboolean __GLEW_WIN_swap_hint; #define GLEW_OK 0 #define GLEW_NO_ERROR 0 #define GLEW_ERROR_NO_GL_VERSION 1 /* missing GL version */ -#define GLEW_ERROR_GL_VERSION_10_ONLY 2 /* GL 1.1 and up are not supported */ -#define GLEW_ERROR_GLX_VERSION_11_ONLY 3 /* GLX 1.2 and up are not supported */ +#define GLEW_ERROR_GL_VERSION_10_ONLY 2 /* Need at least OpenGL 1.1 */ +#define GLEW_ERROR_GLX_VERSION_11_ONLY 3 /* Need at least GLX 1.2 */ /* string codes */ #define GLEW_VERSION 1 +#define GLEW_VERSION_MAJOR 2 +#define GLEW_VERSION_MINOR 3 +#define GLEW_VERSION_MICRO 4 /* API */ #ifdef GLEW_MX typedef struct GLEWContextStruct GLEWContext; GLEWAPI GLenum glewContextInit (GLEWContext* ctx); -GLEWAPI GLboolean glewContextIsSupported (GLEWContext* ctx, const char* name); +GLEWAPI GLboolean glewContextIsSupported (const GLEWContext* ctx, const char* name); #define glewInit() glewContextInit(glewGetContext()) #define glewIsSupported(x) glewContextIsSupported(glewGetContext(), x) @@ -10698,6 +16107,7 @@ GLEWAPI const GLubyte* glewGetString (GLenum name); #undef GLEW_APIENTRY_DEFINED #undef APIENTRY #undef GLAPIENTRY +#define GLAPIENTRY #endif #ifdef GLEW_CALLBACK_DEFINED diff --git a/loader/include/Geode/cocos/platform/third_party/win32/OGLES/GL/glxew.h b/loader/include/Geode/cocos/platform/third_party/win32/OGLES/GL/glxew.h index c10b440b..6d249f73 100644 --- a/loader/include/Geode/cocos/platform/third_party/win32/OGLES/GL/glxew.h +++ b/loader/include/Geode/cocos/platform/third_party/win32/OGLES/GL/glxew.h @@ -97,7 +97,7 @@ #include #include #include -#include "glew.h" +#include #ifdef __cplusplus extern "C" { diff --git a/loader/include/link/fmod.lib b/loader/include/link/fmod.lib new file mode 100644 index 0000000000000000000000000000000000000000..cf134eaff790c2d445a9c47fabcc6686afadbc51 GIT binary patch literal 350516 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%0A4dq}OIRxXJy5|gg7I3jFn)dAsz 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 literal 0 HcmV?d00001 diff --git a/loader/include/link/glew32.lib b/loader/include/link/glew32.lib new file mode 100644 index 0000000000000000000000000000000000000000..1dee904fcf29c9e526b384eaab137d6fba0e5e8a GIT binary patch literal 669944 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%0Dl<+tzI)0v|42?!IEGxTeb5=T!S8 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 literal 0 HcmV?d00001