mirror of
https://github.com/nigels-com/glew.git
synced 2024-11-24 14:55:07 +00:00
Get GL extension strings via glGetStringi() if GL version is >= 3.0.
This commit is contained in:
parent
e935fcad83
commit
bac20de049
@ -1,23 +1,48 @@
|
|||||||
|
|
||||||
/* query opengl extensions string */
|
/* query opengl extensions string(s) */
|
||||||
extStart = glGetString(GL_EXTENSIONS);
|
if(GLEW_VERSION_3_0)
|
||||||
if (extStart == 0)
|
|
||||||
extStart = (const GLubyte*)"";
|
|
||||||
extEnd = extStart + _glewStrLen(extStart);
|
|
||||||
|
|
||||||
while (extStart < extEnd)
|
|
||||||
{
|
{
|
||||||
GLuint len = _glewStrCLen(extStart, ' ');
|
GLuint len;
|
||||||
struct initflag *ptr = in_word_set(extStart, len);
|
struct initflag *ptr;
|
||||||
|
|
||||||
if (ptr != NULL && ptr->flag != NULL) {
|
glGetIntegerv(GL_NUM_EXTENSIONS, &numExts);
|
||||||
|
for (ext = 0; ext < numExts; ext++)
|
||||||
|
{
|
||||||
|
extStart = glGetStringi(GL_EXTENSIONS, ext);
|
||||||
|
len = _glewStrLen(extStart);
|
||||||
|
ptr = in_word_set(extStart, len);
|
||||||
|
|
||||||
|
if (ptr != NULL && ptr->flag != NULL) {
|
||||||
#ifdef GLEW_MX
|
#ifdef GLEW_MX
|
||||||
*(GLboolean *)((char *)ctx + (size_t)(ptr->flag)) = GL_TRUE;
|
*(GLboolean *)((char *)ctx + (size_t)(ptr->flag)) = GL_TRUE;
|
||||||
#else
|
#else
|
||||||
*ptr->flag = GL_TRUE;
|
*ptr->flag = GL_TRUE;
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
extStart += len + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
extStart = glGetString(GL_EXTENSIONS);
|
||||||
|
if (extStart == 0)
|
||||||
|
extStart = (const GLubyte*)"";
|
||||||
|
extEnd = extStart + _glewStrLen(extStart);
|
||||||
|
|
||||||
|
while (extStart < extEnd)
|
||||||
|
{
|
||||||
|
GLuint len = _glewStrCLen(extStart, ' ');
|
||||||
|
struct initflag *ptr = in_word_set(extStart, len);
|
||||||
|
|
||||||
|
if (ptr != NULL && ptr->flag != NULL) {
|
||||||
|
#ifdef GLEW_MX
|
||||||
|
*(GLboolean *)((char *)ctx + (size_t)(ptr->flag)) = GL_TRUE;
|
||||||
|
#else
|
||||||
|
*ptr->flag = GL_TRUE;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
extStart += len + 1;
|
||||||
}
|
}
|
||||||
extStart += len + 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* initialize extensions */
|
/* initialize extensions */
|
||||||
|
Loading…
Reference in New Issue
Block a user