2016-01-20 11:55:08 +00:00
|
|
|
/* ------------------------------------------------------------------------ */
|
|
|
|
|
|
|
|
GLboolean eglewGetExtension (const char* name)
|
|
|
|
{
|
|
|
|
const GLubyte* start;
|
|
|
|
const GLubyte* end;
|
|
|
|
|
2016-01-23 11:32:55 +00:00
|
|
|
start = (const GLubyte*) eglQueryString(eglGetDisplay(EGL_DEFAULT_DISPLAY), EGL_EXTENSIONS);
|
|
|
|
if (0 == start) return GL_FALSE;
|
|
|
|
end = start + _glewStrLen(start);
|
|
|
|
return _glewSearchExtension(name, start, end);
|
2016-01-20 11:55:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
GLenum eglewInit ()
|
|
|
|
{
|
2016-01-23 11:32:55 +00:00
|
|
|
GLuint dot;
|
|
|
|
GLint major, minor;
|
|
|
|
const GLubyte* version;
|
2016-01-20 11:55:08 +00:00
|
|
|
const GLubyte* extStart;
|
|
|
|
const GLubyte* extEnd;
|
2016-01-24 11:55:33 +00:00
|
|
|
PFNEGLGETDISPLAYPROC getDisplay = NULL;
|
|
|
|
PFNEGLQUERYSTRINGPROC queryString = NULL;
|
|
|
|
|
|
|
|
/* Load necessary entry points */
|
|
|
|
getDisplay = (PFNEGLGETDISPLAYPROC) glewGetProcAddress("eglGetDisplay");
|
|
|
|
queryString = (PFNEGLQUERYSTRINGPROC) glewGetProcAddress("eglQueryString");
|
|
|
|
if (!getDisplay || !queryString)
|
|
|
|
return 1;
|
2016-01-20 11:55:08 +00:00
|
|
|
|
2016-01-23 11:32:55 +00:00
|
|
|
/* query EGK version */
|
|
|
|
major = 0;
|
|
|
|
minor = 0;
|
2016-01-24 11:55:33 +00:00
|
|
|
version = (const GLubyte*) queryString(getDisplay(EGL_DEFAULT_DISPLAY), EGL_VERSION);
|
2016-01-23 11:32:55 +00:00
|
|
|
dot = _glewStrCLen(version, '.');
|
|
|
|
if (dot != 0)
|
|
|
|
{
|
|
|
|
major = version[dot-1]-'0';
|
|
|
|
minor = version[dot+1]-'0';
|
|
|
|
}
|
2016-01-20 11:55:08 +00:00
|
|
|
|
2016-01-23 11:32:55 +00:00
|
|
|
EGLEW_VERSION_1_5 = ( major > 1 ) || ( major == 1 && minor >= 5 ) ? GL_TRUE : GL_FALSE;
|
|
|
|
EGLEW_VERSION_1_4 = EGLEW_VERSION_1_5 == GL_TRUE || ( major == 1 && minor >= 4 ) ? GL_TRUE : GL_FALSE;
|
|
|
|
EGLEW_VERSION_1_3 = EGLEW_VERSION_1_4 == GL_TRUE || ( major == 1 && minor >= 3 ) ? GL_TRUE : GL_FALSE;
|
|
|
|
EGLEW_VERSION_1_2 = EGLEW_VERSION_1_3 == GL_TRUE || ( major == 1 && minor >= 2 ) ? GL_TRUE : GL_FALSE;
|
|
|
|
EGLEW_VERSION_1_1 = EGLEW_VERSION_1_2 == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
|
|
|
|
EGLEW_VERSION_1_0 = EGLEW_VERSION_1_1 == GL_TRUE || ( major == 1 && minor >= 0 ) ? GL_TRUE : GL_FALSE;
|
2016-01-20 11:55:08 +00:00
|
|
|
|
|
|
|
/* query EGL extension string */
|
2016-01-24 11:55:33 +00:00
|
|
|
extStart = (const GLubyte*) queryString(getDisplay(EGL_DEFAULT_DISPLAY), EGL_EXTENSIONS);
|
2016-01-23 11:32:55 +00:00
|
|
|
if (extStart == 0)
|
|
|
|
extStart = (const GLubyte *)"";
|
|
|
|
extEnd = extStart + _glewStrLen(extStart);
|
2016-01-20 11:55:08 +00:00
|
|
|
|
|
|
|
/* initialize extensions */
|