From: Chia-I Wu Date: Fri, 5 Feb 2010 03:34:53 +0000 (+0800) Subject: egl: Clarify IsLinked and IsBound. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b31255fbfdb2d9201e8d02e379b8384ee67fcfd0;p=mesa.git egl: Clarify IsLinked and IsBound. 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. --- diff --git a/src/egl/main/eglcontext.h b/src/egl/main/eglcontext.h index 14fce02c11b..cfe92dd9f5c 100644 --- a/src/egl/main/eglcontext.h +++ b/src/egl/main/eglcontext.h @@ -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) diff --git a/src/egl/main/eglsurface.h b/src/egl/main/eglsurface.h index feba30d4f80..0a00035730f 100644 --- a/src/egl/main/eglsurface.h +++ b/src/egl/main/eglsurface.h @@ -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)