diff options
| author | 2012-09-26 10:27:40 -0700 | |
|---|---|---|
| committer | 2012-09-26 11:01:42 -0700 | |
| commit | 98d3a64ffa13596e3ea9125bbff40c51ec96bd8d (patch) | |
| tree | 306cfeea0b0834f3b832a4dba12f6395ea9da097 /libs/hwui/Layer.cpp | |
| parent | 4e1ab15b305aac26ad8819fc3b2951e20985944d (diff) | |
Assign default texture id of 0
Some logic depends on a default value of 0, which was not being
assigned.
Issue #7195815 chrome url bar is corrupted
Issue #7190656 Textures corrupted on mr1
Change-Id: I346b7b76e885bf8f04740e711fd88f917a5418c7
Diffstat (limited to 'libs/hwui/Layer.cpp')
| -rw-r--r-- | libs/hwui/Layer.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp index fb525ee428ac..882e4bbc4bb1 100644 --- a/libs/hwui/Layer.cpp +++ b/libs/hwui/Layer.cpp @@ -19,6 +19,7 @@ #include <utils/Log.h> #include "Layer.h" +#include "LayerRenderer.h" #include "OpenGLRenderer.h" #include "Caches.h" @@ -46,14 +47,15 @@ Layer::~Layer() { if (mesh) delete mesh; if (meshIndices) delete meshIndices; if (colorFilter) Caches::getInstance().resourceCache.decrementRefcount(colorFilter); - if (fbo) Caches::getInstance().fboCache.put(fbo); + removeFbo(); deleteTexture(); } -void Layer::freeResourcesLocked() { - if (colorFilter) { - Caches::getInstance().resourceCache.decrementRefcountLocked(colorFilter); - colorFilter = NULL; +void Layer::removeFbo() { + if (fbo) { + LayerRenderer::flushLayer(this); + Caches::getInstance().fboCache.put(fbo); + fbo = 0; } } |