egl: Clarify IsLinked and IsBound.
authorChia-I Wu <olvaffe@gmail.com>
Fri, 5 Feb 2010 03:34:53 +0000 (11:34 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Fri, 5 Feb 2010 03:45:01 +0000 (11:45 +0800)
Both a link and a binding creates a reference to the resource.  Drivers
should not destroy the resource when there is a reference.  The
difference is better described in doc/egl.html.

src/egl/main/eglcontext.h
src/egl/main/eglsurface.h

index 14fce02c11b26e253b917cab6c2506bb44eef8e3..cfe92dd9f5c4c37234169810c1a5c02c93113f4f 100644 (file)
@@ -60,6 +60,9 @@ _eglCopyContextMESA(_EGLDriver *drv, EGLDisplay dpy, EGLContext source, EGLConte
 
 /**
  * Return true if the context is bound to a thread.
+ *
+ * The binding is considered a reference to the context.  Drivers should not
+ * destroy a context when it is bound.
  */
 static INLINE EGLBoolean
 _eglIsContextBound(_EGLContext *ctx)
@@ -119,6 +122,9 @@ _eglGetContextHandle(_EGLContext *ctx)
 
 /**
  * Return true if the context is linked to a display.
+ *
+ * The link is considered a reference to the context (the display is owning the
+ * context).  Drivers should not destroy a context when it is linked.
  */
 static INLINE EGLBoolean
 _eglIsContextLinked(_EGLContext *ctx)
index feba30d4f80510ea858e10043571129cfd5c49af..0a00035730f73731fa5ecdb89e24500e19a49171 100644 (file)
@@ -107,6 +107,9 @@ _eglCreatePbufferFromClientBuffer(_EGLDriver *drv, _EGLDisplay *dpy,
 
 /**
  * Return true if there is a context bound to the surface.
+ *
+ * The binding is considered a reference to the surface.  Drivers should not
+ * destroy a surface when it is bound.
  */
 static INLINE EGLBoolean
 _eglIsSurfaceBound(_EGLSurface *surf)
@@ -166,6 +169,9 @@ _eglGetSurfaceHandle(_EGLSurface *surf)
 
 /**
  * Return true if the surface is linked to a display.
+ *
+ * The link is considered a reference to the surface (the display is owning the
+ * surface).  Drivers should not destroy a surface when it is linked.
  */
 static INLINE EGLBoolean
 _eglIsSurfaceLinked(_EGLSurface *surf)