Fix rendering issue with layers.
Change-Id: I1d511ab2707000762a942d32c300a9944ab38603
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 0f0316f..855a4e0 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -240,14 +240,14 @@
mSaveCount--;
mSnapshot = previous;
- if (restoreLayer) {
- composeLayer(current, previous);
- }
-
if (restoreClip) {
dirtyClip();
}
+ if (restoreLayer) {
+ composeLayer(current, previous);
+ }
+
return restoreClip;
}
@@ -447,6 +447,7 @@
inverse.mapRect(clip);
clip.snapToPixelBoundaries();
clip.intersect(bounds);
+ clip.translate(-bounds.left, -bounds.top);
snapshot->flags |= Snapshot::kFlagIsFboLayer;
snapshot->fbo = layer->fbo;