egl: Rename Binding to CurrentContext in _EGLSurface.

A context can be bound to a surface just like it can be bound to a
thread.  CurrentContext is a more consistent name.
This commit is contained in:
Chia-I Wu
2010-01-30 22:45:54 +08:00
parent 94cb321b5d
commit 00e1790f32
4 changed files with 18 additions and 18 deletions

View File

@@ -600,7 +600,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->Binding && xdri_driver->FlushCurrentContext)
if (draw->CurrentContext && xdri_driver->FlushCurrentContext)
xdri_driver->FlushCurrentContext();
xdri_dpy->psc->driScreen->swapBuffers(xdri_surf->driDrawable, 0, 0, 0);

View File

@@ -150,13 +150,13 @@ _eglBindContextToSurfaces(_EGLContext *ctx,
{
_EGLSurface *newDraw = *draw, *newRead = *read;
if (newDraw->Binding)
newDraw->Binding->DrawSurface = NULL;
newDraw->Binding = ctx;
if (newDraw->CurrentContext)
newDraw->CurrentContext->DrawSurface = NULL;
newDraw->CurrentContext = ctx;
if (newRead->Binding)
newRead->Binding->ReadSurface = NULL;
newRead->Binding = ctx;
if (newRead->CurrentContext)
newRead->CurrentContext->ReadSurface = NULL;
newRead->CurrentContext = ctx;
if (ctx) {
*draw = ctx->DrawSurface;
@@ -238,8 +238,8 @@ _eglCheckMakeCurrent(_EGLContext *ctx, _EGLSurface *draw, _EGLSurface *read)
*
* The latter is more restrictive so we can check only the latter case.
*/
if ((draw->Binding && draw->Binding != ctx) ||
(read->Binding && read->Binding != ctx))
if ((draw->CurrentContext && draw->CurrentContext != ctx) ||
(read->CurrentContext && read->CurrentContext != ctx))
return _eglError(EGL_BAD_ACCESS, "eglMakeCurrent");
/* simply require the configs to be equal */

View File

@@ -14,9 +14,8 @@ struct _egl_surface
/* A surface is a display resource */
_EGLResource Resource;
/* The bound status of the surface */
_EGLContext *Binding;
EGLBoolean BoundToTexture;
/* The context that is currently bound to the surface */
_EGLContext *CurrentContext;
_EGLConfig *Config;
@@ -26,6 +25,9 @@ struct _egl_surface
EGLint MipmapTexture, MipmapLevel;
EGLint SwapInterval;
/* True if the surface is bound to an OpenGL ES texture */
EGLBoolean BoundToTexture;
/* If type == EGL_SCREEN_BIT: */
EGLint VisibleRefCount; /* number of screens I'm displayed on */
@@ -100,14 +102,12 @@ _eglCreatePbufferFromClientBuffer(_EGLDriver *drv, _EGLDisplay *dpy,
/**
* Return true if the surface is bound to a thread.
* A surface bound to a texutre is not considered bound by
* this function.
* Return true if there is a context bound to the surface.
*/
static INLINE EGLBoolean
_eglIsSurfaceBound(_EGLSurface *surf)
{
return (surf->Binding != NULL);
return (surf->CurrentContext != NULL);
}

View File

@@ -1129,8 +1129,8 @@ egl_g3d_bind_tex_image(_EGLDriver *drv, _EGLDisplay *dpy,
}
/* flush properly if the surface is bound */
if (gsurf->base.Binding) {
gctx = egl_g3d_context(gsurf->base.Binding);
if (gsurf->base.CurrentContext) {
gctx = egl_g3d_context(gsurf->base.CurrentContext);
gctx->stapi->st_flush(gctx->st_ctx,
PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_FRAME, NULL);
}