egl: Rename Binding to CurrentContext in _EGLSurface.
authorChia-I Wu <olvaffe@gmail.com>
Sat, 30 Jan 2010 14:45:54 +0000 (22:45 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Sat, 30 Jan 2010 14:57:18 +0000 (22:57 +0800)
A context can be bound to a surface just like it can be bound to a
thread.  CurrentContext is a more consistent name.

src/egl/drivers/xdri/egl_xdri.c
src/egl/main/eglcontext.c
src/egl/main/eglsurface.h
src/gallium/state_trackers/egl/common/egl_g3d.c

index 10f7a31f5b950551b11b5453f92864a2a1a17530..9c21576539ddec9a55cedb77101c6c7510f339b3 100644 (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);
index ee9d60e17a676e70d39368621b3a81cbebe25699..37c4b25b68a96ea431df6a2542ab1e030bff1ef4 100644 (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 */
index 4062b990fa45e7ed6659a5e405a513c01c20f74c..eee66f6d861320101326aa8e6194331bc0261b8d 100644 (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);
 }
 
 
index f8334217c4794e1efd969b50a1d46d071764e45c..3f520851c436a3261d8cdba92bee3ff8fde974da 100644 (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);
    }