summaryrefslogtreecommitdiff
path: root/libs/hwui/Layer.cpp
diff options
context:
space:
mode:
author Dave Burke <daveburke@google.com> 2012-09-25 20:30:09 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2012-09-25 20:30:09 -0700
commit56257aff8a55c847be72be9924c392033fd8151d (patch)
tree5e31b76ebbf03e281ccaeceec24882660e7de47e /libs/hwui/Layer.cpp
parent8a1374946a928fcba7495c87ff6adda327fdfb9f (diff)
Revert "Deleting objects on the wrong thread is a silly idea Bug #7195815"
This reverts commit 8a1374946a928fcba7495c87ff6adda327fdfb9f Change-Id: I53564a6c531d334afcc1fce0bea1e57ae266aa78
Diffstat (limited to 'libs/hwui/Layer.cpp')
-rw-r--r--libs/hwui/Layer.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp
index cd2e57131c9f..fb525ee428ac 100644
--- a/libs/hwui/Layer.cpp
+++ b/libs/hwui/Layer.cpp
@@ -19,7 +19,6 @@
#include <utils/Log.h>
#include "Layer.h"
-#include "LayerRenderer.h"
#include "OpenGLRenderer.h"
#include "Caches.h"
@@ -47,14 +46,17 @@ Layer::~Layer() {
if (mesh) delete mesh;
if (meshIndices) delete meshIndices;
if (colorFilter) Caches::getInstance().resourceCache.decrementRefcount(colorFilter);
- if (fbo) {
- LayerRenderer::flushLayer(this);
- Caches::getInstance().fboCache.put(fbo);
- fbo = 0;
- }
+ if (fbo) Caches::getInstance().fboCache.put(fbo);
deleteTexture();
}
+void Layer::freeResourcesLocked() {
+ if (colorFilter) {
+ Caches::getInstance().resourceCache.decrementRefcountLocked(colorFilter);
+ colorFilter = NULL;
+ }
+}
+
void Layer::setPaint(SkPaint* paint) {
OpenGLRenderer::getAlphaAndModeDirect(paint, &alpha, &mode);
}
@@ -69,5 +71,7 @@ void Layer::setColorFilter(SkiaColorFilter* filter) {
}
}
+
+
}; // namespace uirenderer
}; // namespace android