summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorOmprakash Dhyade <odhyade@codeaurora.org>2012-03-03 19:36:23 -0800
committerSteve Kondik <shade@chemlab.org>2012-07-02 00:01:23 -0700
commit9d105961ac85d81d5354e4634bec12adeddccff6 (patch)
treebbc58522122ce1bb67f47e235605c608c544ee97 /libs
parent9ba2de56e07106926118d4b719a8357733cbdbec (diff)
downloadframeworks_base-9d105961ac85d81d5354e4634bec12adeddccff6.zip
frameworks_base-9d105961ac85d81d5354e4634bec12adeddccff6.tar.gz
frameworks_base-9d105961ac85d81d5354e4634bec12adeddccff6.tar.bz2
framework/base: hwui: Clear layer FBO after FBO cache is updated
Due to bug in GLRenderer stale FBO remains and can cause corruption, clear layer fbo when fbo returned to cache. CRs-fixed: 340481 (cherry picked from commit b01c082e12c4c4091016af1c95d851f29f5b7514) Conflicts: libs/hwui/LayerRenderer.cpp Change-Id: I8624879b4adbf9438a8c065b78932d1a4a2a15d4
Diffstat (limited to 'libs')
-rw-r--r--libs/hwui/LayerRenderer.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/hwui/LayerRenderer.cpp b/libs/hwui/LayerRenderer.cpp
index e38b479..94d3fab 100644
--- a/libs/hwui/LayerRenderer.cpp
+++ b/libs/hwui/LayerRenderer.cpp
@@ -221,6 +221,7 @@ Layer* LayerRenderer::createLayer(uint32_t width, uint32_t height, bool isOpaque
glBindFramebuffer(GL_FRAMEBUFFER, previousFbo);
Caches::getInstance().fboCache.put(fbo);
+ layer->setFbo(0);
layer->deleteTexture();
delete layer;
@@ -307,6 +308,7 @@ void LayerRenderer::destroyLayer(Layer* layer) {
if (layer->getFbo()) {
Caches::getInstance().fboCache.put(layer->getFbo());
+ layer->setFbo(0);
}
if (!Caches::getInstance().layerCache.put(layer)) {