diff options
| author | Romain Guy <romainguy@google.com> | 2011-01-23 12:01:41 -0800 |
|---|---|---|
| committer | Romain Guy <romainguy@google.com> | 2011-01-23 12:01:41 -0800 |
| commit | 27454a42de8b3c54cdd3b2b2a12446c2c10c8cb9 (patch) | |
| tree | 5cfb318275697a02c4f1b677d4e8ce3f8bc22983 /libs/hwui/DisplayListRenderer.cpp | |
| parent | 4cf6e2f34994f160e1baba205a43c12784dd3e0d (diff) | |
| download | frameworks_base-27454a42de8b3c54cdd3b2b2a12446c2c10c8cb9.zip frameworks_base-27454a42de8b3c54cdd3b2b2a12446c2c10c8cb9.tar.gz frameworks_base-27454a42de8b3c54cdd3b2b2a12446c2c10c8cb9.tar.bz2 | |
Collapse sucessive calls to restoreToCount() in display lists.
Change-Id: Icb3d3dc2c579436d375269a9cb0b821a931c5a79
Diffstat (limited to 'libs/hwui/DisplayListRenderer.cpp')
| -rw-r--r-- | libs/hwui/DisplayListRenderer.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/hwui/DisplayListRenderer.cpp b/libs/hwui/DisplayListRenderer.cpp index df446f9..58ef7b3 100644 --- a/libs/hwui/DisplayListRenderer.cpp +++ b/libs/hwui/DisplayListRenderer.cpp @@ -473,6 +473,12 @@ void DisplayListRenderer::prepare(bool opaque) { SkCanvas::kMatrix_SaveFlag | SkCanvas::kClip_SaveFlag); mSaveCount = 1; mSnapshot->setClip(0.0f, 0.0f, mWidth, mHeight); + mRestoreSaveCount = -1; +} + +void DisplayListRenderer::finish() { + insertRestoreToCount(); + OpenGLRenderer::finish(); } void DisplayListRenderer::acquireContext() { @@ -497,8 +503,7 @@ void DisplayListRenderer::restore() { } void DisplayListRenderer::restoreToCount(int saveCount) { - addOp(DisplayList::RestoreToCount); - addInt(saveCount); + mRestoreSaveCount = saveCount; OpenGLRenderer::restoreToCount(saveCount); } |
