zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
glew_init_gl.c
Go to the documentation of this file.
1 /* ------------------------------------------------------------------------- */
2 
4 {
5  const GLubyte* start;
6  const GLubyte* end;
7  start = (const GLubyte*)glGetString(GL_EXTENSIONS);
8  if (start == 0)
9  return GL_FALSE;
10  end = start + _glewStrLen(start);
11  return _glewSearchExtension(name, start, end);
12 }
13 
14 /* ------------------------------------------------------------------------- */
15 
16 #ifndef GLEW_MX
17 static
18 #endif
20 {
21  const GLubyte* s;
22  GLuint dot;
23  GLint major, minor;
24  const GLubyte* extStart;
25  const GLubyte* extEnd;
26  /* query opengl version */
28  dot = _glewStrCLen(s, '.');
29  if (dot == 0)
31 
32  major = s[dot-1]-'0';
33  minor = s[dot+1]-'0';
34 
35  if (minor < 0 || minor > 9)
36  minor = 0;
37  if (major<0 || major>9)
39 
40 
41  if (major == 1 && minor == 0)
42  {
44  }
45  else
46  {
47  CONST_CAST(GLEW_VERSION_4_4) = ( major > 4 ) || ( major == 4 && minor >= 4 ) ? GL_TRUE : GL_FALSE;
48  CONST_CAST(GLEW_VERSION_4_3) = GLEW_VERSION_4_4 == GL_TRUE || ( major == 4 && minor >= 3 ) ? GL_TRUE : GL_FALSE;
49  CONST_CAST(GLEW_VERSION_4_2) = GLEW_VERSION_4_3 == GL_TRUE || ( major == 4 && minor >= 2 ) ? GL_TRUE : GL_FALSE;
50  CONST_CAST(GLEW_VERSION_4_1) = GLEW_VERSION_4_2 == GL_TRUE || ( major == 4 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
52  CONST_CAST(GLEW_VERSION_3_3) = GLEW_VERSION_4_0 == GL_TRUE || ( major == 3 && minor >= 3 ) ? GL_TRUE : GL_FALSE;
53  CONST_CAST(GLEW_VERSION_3_2) = GLEW_VERSION_3_3 == GL_TRUE || ( major == 3 && minor >= 2 ) ? GL_TRUE : GL_FALSE;
54  CONST_CAST(GLEW_VERSION_3_1) = GLEW_VERSION_3_2 == GL_TRUE || ( major == 3 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
56  CONST_CAST(GLEW_VERSION_2_1) = GLEW_VERSION_3_0 == GL_TRUE || ( major == 2 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
58  CONST_CAST(GLEW_VERSION_1_5) = GLEW_VERSION_2_0 == GL_TRUE || ( major == 1 && minor >= 5 ) ? GL_TRUE : GL_FALSE;
59  CONST_CAST(GLEW_VERSION_1_4) = GLEW_VERSION_1_5 == GL_TRUE || ( major == 1 && minor >= 4 ) ? GL_TRUE : GL_FALSE;
60  CONST_CAST(GLEW_VERSION_1_3) = GLEW_VERSION_1_4 == GL_TRUE || ( major == 1 && minor >= 3 ) ? GL_TRUE : GL_FALSE;
62  CONST_CAST(GLEW_VERSION_1_2) = GLEW_VERSION_1_2_1 == GL_TRUE || ( major == 1 && minor >= 2 ) ? GL_TRUE : GL_FALSE;
63  CONST_CAST(GLEW_VERSION_1_1) = GLEW_VERSION_1_2 == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
64  }
65 
66  /* query opengl extensions string */
67  extStart = glGetString(GL_EXTENSIONS);
68  if (extStart == 0)
69  extStart = (const GLubyte*)"";
70  extEnd = extStart + _glewStrLen(extStart);
71 
72  /* initialize extensions */
#define GL_TRUE
Definition: gl2.h:51
#define GLEW_VERSION_1_2_1
Definition: glew.h:1257
#define GLEW_VERSION_1_4
Definition: glew.h:1602
GLdouble s
Definition: glew.h:1376
#define GL_FALSE
Definition: gl2.h:50
#define GLEW_VERSION_1_1
Definition: glew_head.h:1099
static GLboolean _glewSearchExtension(const char *name, const GLubyte *start, const GLubyte *end)
Definition: glew_head.c:237
unsigned int GLenum
Definition: gl2.h:23
GLuint start
Definition: glew.h:1239
unsigned char GLboolean
Definition: gl2.h:24
#define GLEW_VERSION_1_5
Definition: glew.h:1705
#define GLEW_VERSION_3_1
Definition: glew.h:2315
#define GLEW_VERSION_1_3
Definition: glew.h:1457
#define GLEW_VERSION_3_3
Definition: glew.h:2371
EGLImageKHR EGLint * name
Definition: eglext.h:284
static GLenum GLEWAPIENTRY glewContextInit(GLEW_CONTEXT_ARG_DEF_LIST)
Definition: glew_init_gl.c:19
#define GLEW_VERSION_3_2
Definition: glew.h:2355
#define GLEW_ERROR_NO_GL_VERSION
Definition: glew_tail.h:6
#define GL_VERSION
Definition: gl2.h:303
static GLuint _glewStrCLen(const GLubyte *s, GLubyte c)
Definition: glew_head.c:161
#define GLEW_VERSION_4_1
Definition: glew.h:2414
#define GLEW_VERSION_2_1
Definition: glew.h:2034
#define GLEW_VERSION_4_3
Definition: glew.h:2440
khronos_uint8_t GLubyte
Definition: gl2.h:30
GLboolean GLEWAPIENTRY glewGetExtension(const char *name)
Definition: glew_init_gl.c:3
#define GLEW_VERSION_2_0
Definition: glew.h:1987
static GLuint _glewStrLen(const GLubyte *s)
Definition: glew_head.c:153
#define GLEW_CONTEXT_ARG_DEF_LIST
Definition: glew_head.c:31
#define GLEWAPIENTRY
Definition: glew_head.h:178
int GLint
Definition: gl2.h:28
#define GL_EXTENSIONS
Definition: gl2.h:304
unsigned int GLuint
Definition: gl2.h:32
#define GLEW_VERSION_4_0
Definition: glew.h:2405
GLuint GLuint end
Definition: glew.h:1239
#define GLEW_VERSION_4_2
Definition: glew.h:2428
#define CONST_CAST(x)
Definition: glew_head.c:147
#define GLEW_ERROR_GL_VERSION_10_ONLY
Definition: glew_tail.h:7
#define GLEW_VERSION_4_4
Definition: glew.h:2451
#define GLEW_VERSION_1_2
Definition: glew.h:1248
#define glGetString
Definition: gl_mangle.h:824
#define GLEW_VERSION_3_0
Definition: glew.h:2261