diff options
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
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 @@ bool OpenGLRenderer::restoreSnapshot() { mSaveCount--; mSnapshot = previous; - if (restoreLayer) { - composeLayer(current, previous); - } - if (restoreClip) { dirtyClip(); } + if (restoreLayer) { + composeLayer(current, previous); + } + return restoreClip; } @@ -447,6 +447,7 @@ bool OpenGLRenderer::createFboLayer(Layer* layer, Rect& bounds, sp<Snapshot> sna inverse.mapRect(clip); clip.snapToPixelBoundaries(); clip.intersect(bounds); + clip.translate(-bounds.left, -bounds.top); snapshot->flags |= Snapshot::kFlagIsFboLayer; snapshot->fbo = layer->fbo; |
