summaryrefslogtreecommitdiffstats
path: root/libs/hwui/DisplayListRenderer.cpp
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2011-01-23 12:01:41 -0800
committerRomain Guy <romainguy@google.com>2011-01-23 12:01:41 -0800
commit27454a42de8b3c54cdd3b2b2a12446c2c10c8cb9 (patch)
tree5cfb318275697a02c4f1b677d4e8ce3f8bc22983 /libs/hwui/DisplayListRenderer.cpp
parent4cf6e2f34994f160e1baba205a43c12784dd3e0d (diff)
downloadframeworks_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.cpp9
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);
}