const GLuint __glXDefaultPixelStore[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 1 };
-#ifndef OPENGL_LIB_PATH
-#define OPENGL_LIB_PATH "/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib"
-#endif
-
-static void *libgl_handle = NULL;
-
static bool diagnostic = false;
void
apple_cgl_init();
apple_xgl_init_direct();
- libgl_handle = dlopen(OPENGL_LIB_PATH, RTLD_LAZY);
(void) apple_glx_get_client_id();
XAppleDRISetSurfaceNotifyHandler(surface_notify_handler);
apple_cgl.flush_drawable(ac->context_obj);
}
-void *
-apple_glx_get_proc_address(const GLubyte * procname)
-{
- size_t len;
- void *h, *s;
- char *pname = (char *) procname;
-
- assert(NULL != procname);
- len = strlen(pname);
-
- if (len < 3) {
- return NULL;
- }
-
- if ((pname != strstr(pname, "glX")) && (pname != strstr(pname, "gl"))) {
- fprintf(stderr,
- "warning: get proc address request is not for a gl or glX function");
- return NULL;
- }
-
- /* Search using the default symbols first. */
- (void) dlerror(); /*drain dlerror */
- h = dlopen(NULL, RTLD_NOW);
- if (NULL == h) {
- fprintf(stderr, "warning: get proc address: %s\n", dlerror());
- return NULL;
- }
-
- s = dlsym(h, pname);
-
- if (NULL == s) {
- /* Try the libGL.dylib from the OpenGL.framework. */
- s = dlsym(libgl_handle, pname);
- }
-
- dlclose(h);
-
- return s;
-}
-
void
apple_glx_waitx(Display * dpy, void *ptr)
{
xp_client_id apple_glx_get_client_id(void);
bool apple_init_glx(Display * dpy);
void apple_glx_swap_buffers(void *ptr);
-void *apple_glx_get_proc_address(const GLubyte * procname);
void apple_glx_waitx(Display * dpy, void *ptr);
int apple_get_dri_event_base(void);
{NULL, NULL} /* end of list */
};
-#ifndef GLX_USE_APPLEGL
static const GLvoid *
get_glx_proc_address(const char *funcName)
{
return NULL;
}
-#endif
/**
* Get the address of a named GL function. This is the pre-GLX 1.4 name for
* DRI based drivers from searching the core GL function table for
* internal API functions.
*/
-#ifdef GLX_USE_APPLEGL
- f = (gl_function) apple_glx_get_proc_address(procName);
-#else
f = (gl_function) get_glx_proc_address((const char *) procName);
if ((f == NULL) && (procName[0] == 'g') && (procName[1] == 'l')
&& (procName[2] != 'X')) {
if (!f)
f = (gl_function) _glapi_get_proc_address((const char *) procName);
}
-#endif
return f;
}