OLD | NEW |
1 /* | 1 /* |
2 ** The OpenGL Extension Wrangler Library | 2 ** The OpenGL Extension Wrangler Library |
3 ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org> | 3 ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org> |
4 ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org> | 4 ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org> |
5 ** Copyright (C) 2002, Lev Povalahev | 5 ** Copyright (C) 2002, Lev Povalahev |
6 ** All rights reserved. | 6 ** All rights reserved. |
7 ** | 7 ** |
8 ** Redistribution and use in source and binary forms, with or without | 8 ** Redistribution and use in source and binary forms, with or without |
9 ** modification, are permitted provided that the following conditions are met: | 9 ** modification, are permitted provided that the following conditions are met: |
10 ** | 10 ** |
(...skipping 8847 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8858 #ifdef WGL_OML_sync_control | 8858 #ifdef WGL_OML_sync_control |
8859 CONST_CAST(WGLEW_OML_sync_control) = wglewGetExtension("WGL_OML_sync_control")
; | 8859 CONST_CAST(WGLEW_OML_sync_control) = wglewGetExtension("WGL_OML_sync_control")
; |
8860 if (glewExperimental || WGLEW_OML_sync_control|| crippled) CONST_CAST(WGLEW_OM
L_sync_control)= !_glewInit_WGL_OML_sync_control(GLEW_CONTEXT_ARG_VAR_INIT); | 8860 if (glewExperimental || WGLEW_OML_sync_control|| crippled) CONST_CAST(WGLEW_OM
L_sync_control)= !_glewInit_WGL_OML_sync_control(GLEW_CONTEXT_ARG_VAR_INIT); |
8861 #endif /* WGL_OML_sync_control */ | 8861 #endif /* WGL_OML_sync_control */ |
8862 | 8862 |
8863 return GLEW_OK; | 8863 return GLEW_OK; |
8864 } | 8864 } |
8865 | 8865 |
8866 #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) | 8866 #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) |
8867 | 8867 |
| 8868 PFNGLXQUERYEXTENSIONPROC __glewXQueryExtension = NULL; |
| 8869 PFNGLXQUERYVERSIONPROC __glewXQueryVersion = NULL; |
| 8870 PFNGLXGETCONFIGPROC __glewXGetConfig = NULL; |
| 8871 PFNGLXCHOOSEVISUALPROC __glewXChooseVisual = NULL; |
| 8872 PFNGLXCREATEGLXPIXMAPPROC __glewXCreateGLXPixmap = NULL; |
| 8873 PFNGLXDESTROYGLXPIXMAPPROC __glewXDestroyGLXPixmap = NULL; |
| 8874 PFNGLXCREATECONTEXTPROC __glewXCreateContext = NULL; |
| 8875 PFNGLXDESTROYCONTEXTPROC __glewXDestroyContext = NULL; |
| 8876 PFNGLXISDIRECTPROC __glewXIsDirect = NULL; |
| 8877 PFNGLXCOPYCONTEXTPROC __glewXCopyContext = NULL; |
| 8878 PFNGLXMAKECURRENTPROC __glewXMakeCurrent = NULL; |
| 8879 PFNGLXGETCURRENTCONTEXTPROC __glewXGetCurrentContext = NULL; |
| 8880 PFNGLXGETCURRENTDRAWABLEPROC __glewXGetCurrentDrawable = NULL; |
| 8881 PFNGLXWAITGLPROC __glewXWaitGL = NULL; |
| 8882 PFNGLXWAITXPROC __glewXWaitX = NULL; |
| 8883 PFNGLXSWAPBUFFERSPROC __glewXSwapBuffers = NULL; |
| 8884 PFNGLXUSEXFONTPROC __glewXUseXFont = NULL; |
| 8885 |
| 8886 PFNGLXQUERYEXTENSIONSSTRINGPROC __glewXQueryExtensionsString = NULL; |
| 8887 PFNGLXGETCLIENTSTRINGPROC __glewXGetClientString = NULL; |
| 8888 PFNGLXQUERYSERVERSTRINGPROC __glewXQueryServerString = NULL; |
| 8889 |
8868 PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay = NULL; | 8890 PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay = NULL; |
8869 | 8891 |
8870 PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig = NULL; | 8892 PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig = NULL; |
8871 PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext = NULL; | 8893 PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext = NULL; |
8872 PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer = NULL; | 8894 PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer = NULL; |
8873 PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap = NULL; | 8895 PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap = NULL; |
8874 PFNGLXCREATEWINDOWPROC __glewXCreateWindow = NULL; | 8896 PFNGLXCREATEWINDOWPROC __glewXCreateWindow = NULL; |
8875 PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer = NULL; | 8897 PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer = NULL; |
8876 PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap = NULL; | 8898 PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap = NULL; |
8877 PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow = NULL; | 8899 PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow = NULL; |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9034 GLboolean __GLXEW_SGIX_visual_select_group = GL_FALSE; | 9056 GLboolean __GLXEW_SGIX_visual_select_group = GL_FALSE; |
9035 GLboolean __GLXEW_SGI_cushion = GL_FALSE; | 9057 GLboolean __GLXEW_SGI_cushion = GL_FALSE; |
9036 GLboolean __GLXEW_SGI_make_current_read = GL_FALSE; | 9058 GLboolean __GLXEW_SGI_make_current_read = GL_FALSE; |
9037 GLboolean __GLXEW_SGI_swap_control = GL_FALSE; | 9059 GLboolean __GLXEW_SGI_swap_control = GL_FALSE; |
9038 GLboolean __GLXEW_SGI_video_sync = GL_FALSE; | 9060 GLboolean __GLXEW_SGI_video_sync = GL_FALSE; |
9039 GLboolean __GLXEW_SUN_get_transparent_index = GL_FALSE; | 9061 GLboolean __GLXEW_SUN_get_transparent_index = GL_FALSE; |
9040 GLboolean __GLXEW_SUN_video_resize = GL_FALSE; | 9062 GLboolean __GLXEW_SUN_video_resize = GL_FALSE; |
9041 | 9063 |
9042 #endif /* !GLEW_MX */ | 9064 #endif /* !GLEW_MX */ |
9043 | 9065 |
| 9066 #ifdef GLX_VERSION_1_1 |
| 9067 |
| 9068 static GLboolean _glewInit_GLX_VERSION_1_1 (GLXEW_CONTEXT_ARG_DEF_INIT) { |
| 9069 GLboolean r = GL_FALSE; |
| 9070 |
| 9071 r = ((glXQueryExtension = (PFNGLXQUERYEXTENSIONPROC)glewGetProcAddress((const
GLubyte*)"glXQueryExtension")) == NULL) || r; |
| 9072 r = ((glXQueryVersion = (PFNGLXQUERYVERSIONPROC)glewGetProcAddress((const GLub
yte*)"glXQueryVersion")) == NULL) || r; |
| 9073 r = ((glXGetConfig = (PFNGLXGETCONFIGPROC)glewGetProcAddress((const GLubyte*)"
glXGetConfig")) == NULL) || r; |
| 9074 r = ((glXChooseVisual = (PFNGLXCHOOSEVISUALPROC)glewGetProcAddress((const GLub
yte*)"glXChooseVisual")) == NULL) || r; |
| 9075 r = ((glXCreateGLXPixmap = (PFNGLXCREATEGLXPIXMAPPROC)glewGetProcAddress((cons
t GLubyte*)"glXCreateGLXPixmap")) == NULL) || r; |
| 9076 r = ((glXDestroyGLXPixmap = (PFNGLXDESTROYGLXPIXMAPPROC)glewGetProcAddress((co
nst GLubyte*)"glXDestroyGLXPixmap")) == NULL) || r; |
| 9077 r = ((glXCreateContext = (PFNGLXCREATECONTEXTPROC)glewGetProcAddress((const GL
ubyte*)"glXCreateContext")) == NULL) || r; |
| 9078 r = ((glXDestroyContext = (PFNGLXDESTROYCONTEXTPROC)glewGetProcAddress((const
GLubyte*)"glXDestroyContext")) == NULL) || r; |
| 9079 r = ((glXIsDirect = (PFNGLXISDIRECTPROC)glewGetProcAddress((const GLubyte*)"gl
XIsDirect")) == NULL) || r; |
| 9080 r = ((glXCopyContext = (PFNGLXCOPYCONTEXTPROC)glewGetProcAddress((const GLubyt
e*)"glXCopyContext")) == NULL) || r; |
| 9081 r = ((glXMakeCurrent = (PFNGLXMAKECURRENTPROC)glewGetProcAddress((const GLubyt
e*)"glXMakeCurrent")) == NULL) || r; |
| 9082 r = ((glXGetCurrentContext = (PFNGLXGETCURRENTCONTEXTPROC)glewGetProcAddress((
const GLubyte*)"glXGetCurrentContext")) == NULL) || r; |
| 9083 r = ((glXGetCurrentDrawable = (PFNGLXGETCURRENTDRAWABLEPROC)glewGetProcAddress
((const GLubyte*)"glXGetCurrentDrawable")) == NULL) || r; |
| 9084 r = ((glXWaitGL = (PFNGLXWAITGLPROC)glewGetProcAddress((const GLubyte*)"glXWai
tGL")) == NULL) || r; |
| 9085 r = ((glXWaitX = (PFNGLXWAITXPROC)glewGetProcAddress((const GLubyte*)"glXWaitX
")) == NULL) || r; |
| 9086 r = ((glXSwapBuffers = (PFNGLXSWAPBUFFERSPROC)glewGetProcAddress((const GLubyt
e*)"glXSwapBuffers")) == NULL) || r; |
| 9087 r = ((glXUseXFont = (PFNGLXUSEXFONTPROC)glewGetProcAddress((const GLubyte*)"gl
XUseXFont")) == NULL) || r; |
| 9088 |
| 9089 r = ((glXQueryExtensionsString = (PFNGLXQUERYEXTENSIONSSTRINGPROC)glewGetProcA
ddress((const GLubyte*)"glXQueryExtensionsString")) == NULL) || r; |
| 9090 r = ((glXGetClientString = (PFNGLXGETCLIENTSTRINGPROC)glewGetProcAddress((cons
t GLubyte*)"glXGetClientString")) == NULL) || r; |
| 9091 r = ((glXQueryServerString = (PFNGLXQUERYSERVERSTRINGPROC)glewGetProcAddress((
const GLubyte*)"glXQueryServerString")) == NULL) || r; |
| 9092 |
| 9093 return r; |
| 9094 } |
| 9095 |
| 9096 #endif |
| 9097 |
9044 #ifdef GLX_VERSION_1_2 | 9098 #ifdef GLX_VERSION_1_2 |
9045 | 9099 |
9046 static GLboolean _glewInit_GLX_VERSION_1_2 (GLXEW_CONTEXT_ARG_DEF_INIT) | 9100 static GLboolean _glewInit_GLX_VERSION_1_2 (GLXEW_CONTEXT_ARG_DEF_INIT) |
9047 { | 9101 { |
9048 GLboolean r = GL_FALSE; | 9102 GLboolean r = GL_FALSE; |
9049 | 9103 |
9050 r = ((glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC)glewGetProcAddress((
const GLubyte*)"glXGetCurrentDisplay")) == NULL) || r; | 9104 r = ((glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC)glewGetProcAddress((
const GLubyte*)"glXGetCurrentDisplay")) == NULL) || r; |
9051 | 9105 |
9052 return r; | 9106 return r; |
9053 } | 9107 } |
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9539 r = ((glXGetVideoResizeSUN = (PFNGLXGETVIDEORESIZESUNPROC)glewGetProcAddress((
const GLubyte*)"glXGetVideoResizeSUN")) == NULL) || r; | 9593 r = ((glXGetVideoResizeSUN = (PFNGLXGETVIDEORESIZESUNPROC)glewGetProcAddress((
const GLubyte*)"glXGetVideoResizeSUN")) == NULL) || r; |
9540 r = ((glXVideoResizeSUN = (PFNGLXVIDEORESIZESUNPROC)glewGetProcAddress((const
GLubyte*)"glXVideoResizeSUN")) == NULL) || r; | 9594 r = ((glXVideoResizeSUN = (PFNGLXVIDEORESIZESUNPROC)glewGetProcAddress((const
GLubyte*)"glXVideoResizeSUN")) == NULL) || r; |
9541 | 9595 |
9542 return r; | 9596 return r; |
9543 } | 9597 } |
9544 | 9598 |
9545 #endif /* GLX_SUN_video_resize */ | 9599 #endif /* GLX_SUN_video_resize */ |
9546 | 9600 |
9547 /* ------------------------------------------------------------------------ */ | 9601 /* ------------------------------------------------------------------------ */ |
9548 | 9602 |
9549 typedef const char* ( * PFNGLXGETCLIENTSTRINGPROC) (Display *dpy, int name); | 9603 #if !defined(GLEW_MX) |
| 9604 GLenum glxewInit () { |
| 9605 if (_glewInit_GLX_VERSION_1_1(GLEW_CONTEXT_ARG_VAR_INIT)) return GLEW_ERROR_GL
X_VERSION_11_ONLY; |
| 9606 |
| 9607 return GLEW_OK; |
| 9608 } |
| 9609 #endif |
9550 | 9610 |
9551 GLboolean glxewGetExtension (const char* name) | 9611 GLboolean glxewGetExtension (const char* name) |
9552 { | 9612 { |
9553 GLubyte* p; | 9613 GLubyte* p; |
9554 GLubyte* end; | 9614 GLubyte* end; |
9555 GLuint len = _glewStrLen((const GLubyte*)name); | 9615 GLuint len = _glewStrLen((const GLubyte*)name); |
9556 static PFNGLXGETCLIENTSTRINGPROC __glewXGetClientString = NULL; | 9616 static PFNGLXGETCLIENTSTRINGPROC __glewXGetClientString = NULL; |
9557 /* if (glXQueryExtensionsString == NULL || glXGetCurrentDisplay == NULL) retur
n GL_FALSE; */ | 9617 /* if (glXQueryExtensionsString == NULL || glXGetCurrentDisplay == NULL) retur
n GL_FALSE; */ |
9558 /* p = (GLubyte*)glXQueryExtensionsString(glXGetCurrentDisplay(), DefaultScree
n(glXGetCurrentDisplay())); */ | 9618 /* p = (GLubyte*)glXQueryExtensionsString(glXGetCurrentDisplay(), DefaultScree
n(glXGetCurrentDisplay())); */ |
9559 if (__glewXGetClientString == NULL) { | 9619 if (__glewXGetClientString == NULL) { |
9560 __glewXGetClientString = (PFNGLXGETCLIENTSTRINGPROC) glewGetProcAddress((con
st GLubyte *)"glXGetClientString"); | 9620 __glewXGetClientString = (PFNGLXGETCLIENTSTRINGPROC) glewGetProcAddress((con
st GLubyte *)"glXGetClientString"); |
9561 } | 9621 } |
9562 if (__glewXGetClientString == NULL) return GL_FALSE; | 9622 if (__glewXGetClientString == NULL) return GL_FALSE; |
9563 if (glXGetCurrentDisplay == NULL) return GL_FALSE; | 9623 if (glXGetCurrentDisplay == NULL) return GL_FALSE; |
9564 p = (GLubyte*)__glewXGetClientString(glXGetCurrentDisplay(), GLX_EXTENSIONS); | 9624 p = (GLubyte*)__glewXGetClientString(glXGetCurrentDisplay(), GLX_EXTENSIONS); |
9565 if (0 == p) return GL_FALSE; | 9625 if (0 == p) return GL_FALSE; |
9566 end = p + _glewStrLen(p); | 9626 end = p + _glewStrLen(p); |
9567 while (p < end) | 9627 while (p < end) |
9568 { | 9628 { |
9569 GLuint n = _glewStrCLen(p, ' '); | 9629 GLuint n = _glewStrCLen(p, ' '); |
9570 if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE; | 9630 if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE; |
9571 p += n+1; | 9631 p += n+1; |
9572 } | 9632 } |
9573 return GL_FALSE; | 9633 return GL_FALSE; |
9574 } | 9634 } |
9575 | 9635 |
9576 typedef Bool (* PFNGLXQUERYVERSIONPROC) (Display *dpy, int *major, int *minor); | |
9577 | |
9578 GLenum glxewContextInit (GLXEW_CONTEXT_ARG_DEF_LIST) | 9636 GLenum glxewContextInit (GLXEW_CONTEXT_ARG_DEF_LIST) |
9579 { | 9637 { |
9580 int major, minor; | 9638 int major, minor; |
9581 static PFNGLXQUERYVERSIONPROC __glewXQueryVersion = NULL; | 9639 static PFNGLXQUERYVERSIONPROC __glewXQueryVersion = NULL; |
9582 if (__glewXQueryVersion == NULL) { | 9640 if (__glewXQueryVersion == NULL) { |
9583 __glewXQueryVersion = (PFNGLXQUERYVERSIONPROC) glewGetProcAddress((const GLu
byte *)"glXQueryVersion"); | 9641 __glewXQueryVersion = (PFNGLXQUERYVERSIONPROC) glewGetProcAddress((const GLu
byte *)"glXQueryVersion"); |
9584 } | 9642 } |
9585 if (__glewXQueryVersion == NULL) return GL_FALSE; | 9643 if (__glewXQueryVersion == NULL) return GL_FALSE; |
9586 /* initialize core GLX 1.2 */ | 9644 /* initialize core GLX 1.2 */ |
9587 if (_glewInit_GLX_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT)) return GLEW_ERROR_GL
X_VERSION_11_ONLY; | 9645 if (_glewInit_GLX_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT)) return GLEW_ERROR_GL
X_VERSION_11_ONLY; |
(...skipping 3306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
12894 } | 12952 } |
12895 #endif | 12953 #endif |
12896 } | 12954 } |
12897 } | 12955 } |
12898 ret = (len == 0); | 12956 ret = (len == 0); |
12899 } | 12957 } |
12900 return ret; | 12958 return ret; |
12901 } | 12959 } |
12902 | 12960 |
12903 #endif /* _WIN32 */ | 12961 #endif /* _WIN32 */ |
OLD | NEW |