diff options
| author | Teng-Hui Zhu <ztenghui@google.com> | 2012-03-01 15:18:05 -0800 |
|---|---|---|
| committer | Teng-Hui Zhu <ztenghui@google.com> | 2012-03-01 15:37:58 -0800 |
| commit | d9624138723c55a0ac2af58a2e78e98cd51eba27 (patch) | |
| tree | b4b402a35bd8beefc4e66adb9730257fdf5504c5 /core/java/android/view/WindowManagerImpl.java | |
| parent | fdd646b2b105e23cdc8517ac055448340a667e37 (diff) | |
Allow webview to delete GL resource in a valid EGL context
bug:6079959
Change-Id: Idee1031b0bcc4aeb498a18eb01970a8ed7efd285
Diffstat (limited to 'core/java/android/view/WindowManagerImpl.java')
| -rw-r--r-- | core/java/android/view/WindowManagerImpl.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/core/java/android/view/WindowManagerImpl.java b/core/java/android/view/WindowManagerImpl.java index 6dbdedbb7cb4..f56dd107bd74 100644 --- a/core/java/android/view/WindowManagerImpl.java +++ b/core/java/android/view/WindowManagerImpl.java @@ -105,6 +105,7 @@ public class WindowManagerImpl implements WindowManager { private View[] mViews; private ViewRootImpl[] mRoots; private WindowManager.LayoutParams[] mParams; + private boolean mNeedsEglTerminate; private final static Object sLock = new Object(); private final static WindowManagerImpl sWindowManager = new WindowManagerImpl(); @@ -447,8 +448,7 @@ public class WindowManagerImpl implements WindowManager { mRoots[i].terminateHardwareResources(); } } - // Terminate the hardware renderer to free all resources - ManagedEGLContext.doTerminate(); + mNeedsEglTerminate = true; break; } // high end gfx devices fall through to next case @@ -461,6 +461,16 @@ public class WindowManagerImpl implements WindowManager { /** * @hide */ + public void terminateEgl() { + if (mNeedsEglTerminate) { + ManagedEGLContext.doTerminate(); + mNeedsEglTerminate = false; + } + } + + /** + * @hide + */ public void trimLocalMemory() { synchronized (this) { if (mViews == null) return; |
