2003-07-06 15:01:13 +00:00
|
|
|
/* ------------------------------------------------------------------------ */
|
|
|
|
|
2012-05-04 19:54:08 +00:00
|
|
|
const GLubyte * GLEWAPIENTRY glewGetErrorString (GLenum error)
|
2003-07-06 15:01:13 +00:00
|
|
|
{
|
2003-09-12 03:50:22 +00:00
|
|
|
static const GLubyte* _glewErrorString[] =
|
2003-07-06 15:01:13 +00:00
|
|
|
{
|
2003-10-27 05:28:55 +00:00
|
|
|
(const GLubyte*)"No error",
|
|
|
|
(const GLubyte*)"Missing GL version",
|
|
|
|
(const GLubyte*)"GL 1.1 and up are not supported",
|
|
|
|
(const GLubyte*)"GLX 1.2 and up are not supported",
|
|
|
|
(const GLubyte*)"Unknown error"
|
2003-07-06 15:01:13 +00:00
|
|
|
};
|
2014-07-14 07:02:27 +00:00
|
|
|
const size_t max_error = sizeof(_glewErrorString)/sizeof(*_glewErrorString) - 1;
|
|
|
|
return _glewErrorString[(size_t)error > max_error ? max_error : (size_t)error];
|
2003-07-06 15:01:13 +00:00
|
|
|
}
|
|
|
|
|
2012-05-04 19:54:08 +00:00
|
|
|
const GLubyte * GLEWAPIENTRY glewGetString (GLenum name)
|
2003-09-12 03:50:22 +00:00
|
|
|
{
|
|
|
|
static const GLubyte* _glewString[] =
|
|
|
|
{
|
2003-10-27 05:28:55 +00:00
|
|
|
(const GLubyte*)NULL,
|
2007-12-28 00:24:07 +00:00
|
|
|
(const GLubyte*)"GLEW_VERSION_STRING",
|
|
|
|
(const GLubyte*)"GLEW_VERSION_MAJOR_STRING",
|
|
|
|
(const GLubyte*)"GLEW_VERSION_MINOR_STRING",
|
|
|
|
(const GLubyte*)"GLEW_VERSION_MICRO_STRING"
|
2003-09-12 03:50:22 +00:00
|
|
|
};
|
2014-07-14 07:02:27 +00:00
|
|
|
const size_t max_string = sizeof(_glewString)/sizeof(*_glewString) - 1;
|
|
|
|
return _glewString[(size_t)name > max_string ? 0 : (size_t)name];
|
2003-09-12 03:50:22 +00:00
|
|
|
}
|
|
|
|
|
2003-07-06 15:01:13 +00:00
|
|
|
/* ------------------------------------------------------------------------ */
|
|
|
|
|
|
|
|
GLboolean glewExperimental = GL_FALSE;
|
|
|
|
|
2005-01-03 07:05:38 +00:00
|
|
|
#if !defined(GLEW_MX)
|
2004-02-19 04:37:07 +00:00
|
|
|
|
2004-12-29 05:43:35 +00:00
|
|
|
#if defined(_WIN32)
|
2012-05-07 15:42:10 +00:00
|
|
|
extern GLenum GLEWAPIENTRY wglewContextInit (void);
|
2013-12-09 21:20:56 +00:00
|
|
|
#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))
|
2012-05-07 15:42:10 +00:00
|
|
|
extern GLenum GLEWAPIENTRY glxewContextInit (void);
|
2004-12-29 05:43:35 +00:00
|
|
|
#endif /* _WIN32 */
|
|
|
|
|
2012-05-04 19:54:08 +00:00
|
|
|
GLenum GLEWAPIENTRY glewInit (void)
|
2003-07-06 15:01:13 +00:00
|
|
|
{
|
2003-09-12 03:50:22 +00:00
|
|
|
GLenum r;
|
2012-05-04 16:03:37 +00:00
|
|
|
r = glewContextInit();
|
|
|
|
if ( r != 0 ) return r;
|
2003-10-27 01:06:34 +00:00
|
|
|
#if defined(_WIN32)
|
2004-02-19 07:49:16 +00:00
|
|
|
return wglewContextInit();
|
2013-12-09 21:20:56 +00:00
|
|
|
#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) /* _UNIX */
|
2004-02-19 07:49:16 +00:00
|
|
|
return glxewContextInit();
|
2003-10-27 01:06:34 +00:00
|
|
|
#else
|
|
|
|
return r;
|
2003-07-06 15:01:13 +00:00
|
|
|
#endif /* _WIN32 */
|
|
|
|
}
|
2004-02-19 04:37:07 +00:00
|
|
|
|
2005-01-03 07:05:38 +00:00
|
|
|
#endif /* !GLEW_MX */
|