egl: Remove _eglGetCurrentSurface and _eglGetCurrentDisplay.

They have little use in drivers since drivers need to work for multiple
current contexts.
This commit is contained in:
Chia-I Wu 2010-01-26 17:13:51 +08:00
parent 11cf3cb2c4
commit a1717970e7
5 changed files with 7 additions and 52 deletions

View file

@ -574,8 +574,7 @@ xdri_eglSwapBuffers(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *draw)
struct xdri_egl_surface *xdri_surf = lookup_surface(draw);
/* swapBuffers does not flush commands */
if (draw == _eglGetCurrentSurface(EGL_DRAW) &&
xdri_driver->FlushCurrentContext)
if (draw->Binding && xdri_driver->FlushCurrentContext)
xdri_driver->FlushCurrentContext();
xdri_dpy->psc->driScreen->swapBuffers(xdri_surf->driDrawable, 0, 0, 0);

View file

@ -629,8 +629,8 @@ eglWaitNative(EGLint engine)
EGLDisplay EGLAPIENTRY
eglGetCurrentDisplay(void)
{
_EGLDisplay *dpy = _eglGetCurrentDisplay();
return _eglGetDisplayHandle(dpy);
_EGLContext *ctx = _eglGetCurrentContext();
return (ctx) ? _eglGetDisplayHandle(ctx->Resource.Display) : EGL_NO_DISPLAY;
}

View file

@ -248,43 +248,6 @@ _eglGetCurrentContext(void)
}
/**
* Return the display of the currently bound context, or NULL.
*/
_EGLDisplay *
_eglGetCurrentDisplay(void)
{
_EGLThreadInfo *t = _eglGetCurrentThread();
_EGLContext *ctx = t->CurrentContexts[t->CurrentAPIIndex];
if (ctx)
return ctx->Resource.Display;
else
return NULL;
}
/**
* Return the read or write surface of the currently bound context, or NULL.
*/
_EGLSurface *
_eglGetCurrentSurface(EGLint readdraw)
{
_EGLThreadInfo *t = _eglGetCurrentThread();
_EGLContext *ctx = t->CurrentContexts[t->CurrentAPIIndex];
if (ctx) {
switch (readdraw) {
case EGL_DRAW:
return ctx->DrawSurface;
case EGL_READ:
return ctx->ReadSurface;
default:
return NULL;
}
}
return NULL;
}
/**
* Record EGL error code.
*/

View file

@ -80,14 +80,6 @@ PUBLIC _EGLContext *
_eglGetCurrentContext(void);
PUBLIC _EGLDisplay *
_eglGetCurrentDisplay(void);
PUBLIC _EGLSurface *
_eglGetCurrentSurface(EGLint readdraw);
PUBLIC EGLBoolean
_eglError(EGLint errCode, const char *msg);

View file

@ -1037,14 +1037,15 @@ egl_g3d_wait_client(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx)
static EGLBoolean
egl_g3d_wait_native(_EGLDriver *drv, _EGLDisplay *dpy, EGLint engine)
{
_EGLSurface *surf = _eglGetCurrentSurface(EGL_DRAW);
struct egl_g3d_surface *gsurf = egl_g3d_surface(surf);
_EGLContext *ctx = _eglGetCurrentContext();
if (engine != EGL_CORE_NATIVE_ENGINE)
return _eglError(EGL_BAD_PARAMETER, "eglWaitNative");
if (gsurf)
if (ctx && ctx->DrawSurface) {
struct egl_g3d_surface *gsurf = egl_g3d_surface(ctx->DrawSurface);
gsurf->native->wait(gsurf->native);
}
return EGL_TRUE;
}