5 #elif !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))
13 # define glewGetContext() ctx
15 # define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext* ctx
16 # define GLEW_CONTEXT_ARG_VAR_INIT ctx
17 # define wglewGetContext() ctx
18 # define WGLEW_CONTEXT_ARG_DEF_INIT WGLEWContext* ctx
19 # define WGLEW_CONTEXT_ARG_DEF_LIST WGLEWContext* ctx
21 # define GLEW_CONTEXT_ARG_DEF_INIT void
22 # define GLEW_CONTEXT_ARG_VAR_INIT
23 # define glxewGetContext() ctx
24 # define GLXEW_CONTEXT_ARG_DEF_INIT void
25 # define GLXEW_CONTEXT_ARG_DEF_LIST GLXEWContext* ctx
27 # define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx
29 # define GLEW_CONTEXT_ARG_DEF_INIT void
30 # define GLEW_CONTEXT_ARG_VAR_INIT
31 # define GLEW_CONTEXT_ARG_DEF_LIST void
32 # define WGLEW_CONTEXT_ARG_DEF_INIT void
33 # define WGLEW_CONTEXT_ARG_DEF_LIST void
34 # define GLXEW_CONTEXT_ARG_DEF_INIT void
35 # define GLXEW_CONTEXT_ARG_DEF_LIST void
38 #if defined(__sgi) || defined (__sun) || defined(GLEW_APPLE_GLX)
45 static void*
h =
NULL;
50 if ((h = dlopen(
NULL, RTLD_LAZY | RTLD_LOCAL)) ==
NULL)
return NULL;
51 gpa = dlsym(h,
"glXGetProcAddress");
57 return dlsym(h, (
const char*)name);
61 #if defined(__APPLE__)
64 #include <AvailabilityMacros.h>
66 #ifdef MAC_OS_X_VERSION_10_3
77 image = dlopen(
"libRegal.dylib", RTLD_LAZY);
79 image = dlopen(
"/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", RTLD_LAZY);
82 if( !image )
return NULL;
83 addr = dlsym(image, (
const char*)name);
84 if( addr )
return addr;
86 return dlGetProcAddress( name );
93 #include <mach-o/dyld.h>
95 void* NSGLGetProcAddress (
const GLubyte *name)
97 static const struct mach_header* image =
NULL;
103 image = NSAddImage(
"libRegal.dylib", NSADDIMAGE_OPTION_RETURN_ON_ERROR);
105 image = NSAddImage(
"/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", NSADDIMAGE_OPTION_RETURN_ON_ERROR);
109 symbolName =
malloc(strlen((
const char*)name) + 2);
110 strcpy(symbolName+1, (
const char*)name);
115 symbol = image ? NSLookupSymbolInImage(image, symbolName, NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) :
NULL;
117 if( symbol )
return NSAddressOfSymbol(symbol);
118 #ifdef GLEW_APPLE_GLX
119 return dlGetProcAddress( name );
131 # define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name)
132 #elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
133 # define glewGetProcAddress(name) NSGLGetProcAddress(name)
134 #elif defined(__sgi) || defined(__sun)
135 # define glewGetProcAddress(name) dlGetProcAddress(name)
136 #elif defined(__ANDROID__)
137 # define glewGetProcAddress(name) NULL
138 #elif defined(__native_client__)
139 # define glewGetProcAddress(name) NULL
141 # define glewGetProcAddress(name) (*glXGetProcAddressARB)(name)
147 #define CONST_CAST(x) (*(GLboolean*)&x)
156 if (s ==
NULL)
return 0;
157 while (s[i] !=
'\0') i++;
164 if (s ==
NULL)
return 0;
165 while (s[i] !=
'\0' && s[i] != c) i++;
166 return (s[i] ==
'\0' || s[i] == c) ? i : 0;
174 while (i < n && a[i] !=
'\0' && b[i] !=
'\0' && a[i] == b[i]) i++;
180 while (*na > 0 && (**a ==
' ' || **a ==
'\n' || **a ==
'\r' || **a ==
'\t'))
188 while (i < nb && (*a)+i !=
NULL && b+i !=
NULL && (*a)[i] == b[i]) i++;
204 while (i < nb && (*a)+i !=
NULL && b+i !=
NULL && (*a)[i] == b[i]) i++;
220 while (i < nb && (*a)+i !=
NULL && b+i !=
NULL && (*a)[i] == b[i]) i++;
221 if (i == nb && (*na == nb || (*a)[i] ==
' ' || (*a)[i] ==
'\n' || (*a)[i] ==
'\r' || (*a)[i] ==
'\t'))
GLfloat GLfloat GLfloat GLfloat h
static GLboolean _glewSearchExtension(const char *name, const GLubyte *start, const GLubyte *end)
GLboolean GLboolean GLboolean GLboolean a
EGLImageKHR EGLint * name
static GLuint _glewStrCLen(const GLubyte *s, GLubyte c)
static GLboolean _glewStrSame(const GLubyte *a, const GLubyte *b, GLuint n)
static GLboolean _glewStrSame1(GLubyte **a, GLuint *na, const GLubyte *b, GLuint nb)
static GLuint _glewStrLen(const GLubyte *s)
static GLboolean _glewStrSame2(GLubyte **a, GLuint *na, const GLubyte *b, GLuint nb)
GLdouble GLdouble GLdouble b
static GLboolean _glewStrSame3(GLubyte **a, GLuint *na, const GLubyte *b, GLuint nb)