diff options
author | Chia-I Wu <[email protected]> | 2009-07-17 11:48:27 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2009-07-17 11:48:27 -0600 |
commit | 18457cb263e3e062e12314e7b3d5c81a7f2ba048 (patch) | |
tree | 179cde7595a4925111e78515be68005566aae66d /src/egl/main/eglsurface.h | |
parent | 21b635ffa8b59049a95d50d4c7b7a8ff6413b730 (diff) |
egl: Add funtions to link contexts and surfaces to displays.
EGL contexts and surfaces are resources of displays. They should be
managed by displays. This commit adds a bunch of functions to
egldisplay.c to help establish the links between contexts/surfaces and
displays. How links are established is considered opaque outside
display. Functions like _eglGetSurfaceHandle or _eglLookupSurface are
therefore moved to egldisplay.c, with some small modifications.
The idea is also extended to display. That is, displays need to link to
themselves to be looked up.
This commit only adds the functions. A commit to use them should
follow.
Signed-off-by: Chia-I Wu <[email protected]>
Diffstat (limited to 'src/egl/main/eglsurface.h')
-rw-r--r-- | src/egl/main/eglsurface.h | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/egl/main/eglsurface.h b/src/egl/main/eglsurface.h index 3b54221bd32..dc536690910 100644 --- a/src/egl/main/eglsurface.h +++ b/src/egl/main/eglsurface.h @@ -10,7 +10,11 @@ */ struct _egl_surface { - EGLSurface Handle; /* The public/opaque handle which names this object */ + /* Managed by EGLDisplay for linking */ + _EGLDisplay *Display; + _EGLSurface *Next; + EGLSurface Handle; + _EGLConfig *Config; /* May need reference counting here */ @@ -52,14 +56,6 @@ extern void _eglRemoveSurface(_EGLSurface *surf); -extern EGLSurface -_eglGetSurfaceHandle(_EGLSurface *surface); - - -extern _EGLSurface * -_eglLookupSurface(EGLSurface surf); - - extern EGLBoolean _eglSwapBuffers(_EGLDriver *drv, EGLDisplay dpy, EGLSurface draw); |