summaryrefslogtreecommitdiff
path: root/libs/hwui/Layer.cpp
diff options
context:
space:
mode:
author Chet Haase <chet@google.com> 2012-09-26 10:27:40 -0700
committer Chet Haase <chet@google.com> 2012-09-26 11:01:42 -0700
commit98d3a64ffa13596e3ea9125bbff40c51ec96bd8d (patch)
tree306cfeea0b0834f3b832a4dba12f6395ea9da097 /libs/hwui/Layer.cpp
parent4e1ab15b305aac26ad8819fc3b2951e20985944d (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.cpp12
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;
}
}