diff options
author | Mathias Agopian <mathias@google.com> | 2009-04-22 15:23:34 -0700 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2009-04-24 16:30:38 -0700 |
commit | a3aa6c9aa96873a70e2ff3170218a275f503520e (patch) | |
tree | 67ce04dbb5e73d9ce96f93bef729d44754ead365 /opengl/libagl/TextureObjectManager.cpp | |
parent | 6ead5d9f140529edfb744584fa5427b84b4dc13a (diff) |
Surfaces are now destroyed properly in SurfaceFlinger.
First, the window manager tells us when a surface is no longer needed. At this point, several things happen:
- the surface is removed from the active/visible list
- it is added to a purgatory list, where it waits for all clients to release their reference
- it destroys all data/state that can be spared
Later, when all clients are done, the remains of the Surface are disposed off: it is removed from the purgatory and destroyed.
In particular its gralloc buffers are destroyed at that point (when we're sure nobody is using them anymore).
Diffstat (limited to 'opengl/libagl/TextureObjectManager.cpp')
0 files changed, 0 insertions, 0 deletions