egl: Add _EGLDriver as the first argument to GetProcAddress.
authorChia-I Wu <olvaffe@gmail.com>
Tue, 12 Jan 2010 09:44:03 +0000 (17:44 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Tue, 12 Jan 2010 09:53:57 +0000 (17:53 +0800)
The rest of the driver API has it as the first argument.  It should be
there so that a driver has access to itself.

src/egl/drivers/glx/egl_glx.c
src/egl/drivers/xdri/egl_xdri.c
src/egl/main/eglapi.c
src/egl/main/eglapi.h
src/gallium/state_trackers/egl_g3d/common/egl_g3d.c
src/gallium/winsys/egl_xlib/egl_xlib.c

index 96292b0e9e867f8479980a32c01777d495ee9f8c..7c6e8637a1ca8c4cc964583c78679f0cdae47d52 100644 (file)
@@ -899,7 +899,7 @@ GLX_eglSwapBuffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw)
  * Called from eglGetProcAddress() via drv->API.GetProcAddress().
  */
 static _EGLProc
-GLX_eglGetProcAddress(const char *procname)
+GLX_eglGetProcAddress(_EGLDriver *drv, const char *procname)
 {
    return (_EGLProc) glXGetProcAddress((const GLubyte *) procname);
 }
index 0f0a9af15be1be980fb70ce98eacd50244f74f62..8425b3d11efab7e6d48d271eaf440a20d77dbae2 100644 (file)
@@ -355,7 +355,7 @@ xdri_eglTerminate(_EGLDriver *drv, _EGLDisplay *dpy)
  * Called from eglGetProcAddress() via drv->API.GetProcAddress().
  */
 static _EGLProc
-xdri_eglGetProcAddress(const char *procname)
+xdri_eglGetProcAddress(_EGLDriver *drv, const char *procname)
 {
    /* the symbol is defined in libGL.so */
    return (_EGLProc) _glapi_get_proc_address(procname);
index 14cc5fa6137fad45b0206aac58f0c4a16f38b5c5..26e0602453a9293e3f06c65066768f754a9ca8cd 100644 (file)
@@ -716,7 +716,8 @@ void (* EGLAPIENTRY eglGetProcAddress(const char *procname))()
 
    /* now loop over drivers to query their procs */
    for (i = 0; i < _eglGlobal.NumDrivers; i++) {
-      _EGLProc p = _eglGlobal.Drivers[i]->API.GetProcAddress(procname);
+      _EGLDriver *drv = _eglGlobal.Drivers[i];
+      _EGLProc p = drv->API.GetProcAddress(drv, procname);
       if (p)
          return p;
    }
index aa0abe3eb6bfdd3b0f068d4c85454d4f8816a825..080f2155e3a03dd036de2079917e565408c16a13 100644 (file)
@@ -44,7 +44,7 @@ typedef const char *(*QueryString_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLint n
 typedef EGLBoolean (*WaitClient_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx);
 typedef EGLBoolean (*WaitNative_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLint engine);
 
-typedef _EGLProc (*GetProcAddress_t)(const char *procname);
+typedef _EGLProc (*GetProcAddress_t)(_EGLDriver *drv, const char *procname);
 
 
 
index 8b2e3b5f85b0bdcc374950f1799c74c6f430bbf1..d7d3f934b569806cfe4d9cc74ceca97d8fc7897b 100644 (file)
@@ -849,7 +849,7 @@ egl_g3d_wait_native(_EGLDriver *drv, _EGLDisplay *dpy, EGLint engine)
 }
 
 static _EGLProc
-egl_g3d_get_proc_address(const char *procname)
+egl_g3d_get_proc_address(_EGLDriver *drv, const char *procname)
 {
    /* FIXME how come _EGLDriver is not passed? */
    const struct egl_g3d_st *stapi;
index 420dccc92c9cb0fa8c3fc686d15d908fc40bbca6..1d9bac3871c8462c70183242fada9c7771dc1719 100644 (file)
@@ -274,7 +274,7 @@ xlib_eglTerminate(_EGLDriver *drv, _EGLDisplay *dpy)
 
 
 static _EGLProc
-xlib_eglGetProcAddress(const char *procname)
+xlib_eglGetProcAddress(_EGLDriver *drv, const char *procname)
 {
    return (_EGLProc) st_get_proc_address(procname);
 }