diff options
| author | 2012-09-20 17:40:38 -0700 | |
|---|---|---|
| committer | 2012-09-20 17:40:39 -0700 | |
| commit | 596bcc23a7cbf07d1465cfc8caa33b6c87fe6a16 (patch) | |
| tree | 00fbf252e2c34a83d963ca2d9ec5607a2c43a124 /libs/hwui/OpenGLRenderer.cpp | |
| parent | 0aac9b7d53946c6e5d8d3855afb3d993aee14519 (diff) | |
| parent | 57b5268708c3b974296c7d4e58a02a957979224a (diff) | |
Merge "Optimize tiling management Bug #7186819" into jb-mr1-dev
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 9b9ca12e954a..da0900abb4e9 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -175,7 +175,7 @@ int OpenGLRenderer::prepareDirty(float left, float top, float right, float botto mSaveCount = 1; mSnapshot->setClip(left, top, right, bottom); - mDirtyClip = mOpaqueFrame = opaque; + mDirtyClip = opaque; // If we know that we are going to redraw the entire framebuffer, // perform a discard to let the driver know we don't need to preserve @@ -189,7 +189,7 @@ int OpenGLRenderer::prepareDirty(float left, float top, float right, float botto syncState(); mTilingSnapshot = mSnapshot; - startTiling(); + startTiling(mTilingSnapshot, true); if (!opaque) { mCaches.enableScissor(); @@ -213,16 +213,9 @@ void OpenGLRenderer::syncState() { } } -void OpenGLRenderer::startTiling() { - startTiling(mTilingSnapshot); -} - -void OpenGLRenderer::startTiling(const sp<Snapshot>& s) { - bool opaque = mOpaqueFrame; +void OpenGLRenderer::startTiling(const sp<Snapshot>& s, bool opaque) { Rect* clip = mTilingSnapshot->clipRect; - if (s->flags & Snapshot::kFlagIsFboLayer) { - opaque = !s->layer->isBlend(); clip = s->clipRect; } |