diff options
| -rw-r--r-- | libs/hwui/DeferredDisplayList.cpp | 2 | ||||
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 12 | ||||
| -rw-r--r-- | libs/hwui/OpenGLRenderer.h | 1 |
3 files changed, 10 insertions, 5 deletions
diff --git a/libs/hwui/DeferredDisplayList.cpp b/libs/hwui/DeferredDisplayList.cpp index 2027fc86ad8a..84555450ecf5 100644 --- a/libs/hwui/DeferredDisplayList.cpp +++ b/libs/hwui/DeferredDisplayList.cpp @@ -372,8 +372,8 @@ status_t DeferredDisplayList::flush(OpenGLRenderer& renderer, Rect& dirty) { renderer.eventMark("Flush"); renderer.restoreToCount(1); - status |= replayBatchList(mBatches, renderer, dirty); + renderer.resetDrawModifiers(); DEFER_LOGD("--flush complete, returning %x", status); diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 428980e485f1..e576f76f8660 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -112,10 +112,7 @@ static const Blender gBlendsSwap[] = { OpenGLRenderer::OpenGLRenderer(): mCaches(Caches::getInstance()), mExtensions(Extensions::getInstance()) { - mDrawModifiers.mShader = NULL; - mDrawModifiers.mColorFilter = NULL; - mDrawModifiers.mHasShadow = false; - mDrawModifiers.mHasDrawFilter = false; + resetDrawModifiers(); memcpy(mMeshVertices, gMeshVertices, sizeof(gMeshVertices)); @@ -1204,6 +1201,13 @@ void OpenGLRenderer::clearLayerRegions() { // State Deferral /////////////////////////////////////////////////////////////////////////////// +void OpenGLRenderer::resetDrawModifiers() { + mDrawModifiers.mShader = NULL; + mDrawModifiers.mColorFilter = NULL; + mDrawModifiers.mHasShadow = false; + mDrawModifiers.mHasDrawFilter = false; +} + bool OpenGLRenderer::storeDisplayState(DeferredDisplayState& state, int stateDeferFlags) { const Rect& currentClip = *(mSnapshot->clipRect); const mat4& currentMatrix = *(mSnapshot->transform); diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h index e6c636c37356..3aa9975520f0 100644 --- a/libs/hwui/OpenGLRenderer.h +++ b/libs/hwui/OpenGLRenderer.h @@ -274,6 +274,7 @@ public: SkPaint* filterPaint(SkPaint* paint, bool alwaysCopy = false); + void resetDrawModifiers(); bool storeDisplayState(DeferredDisplayState& state, int stateDeferFlags); void restoreDisplayState(const DeferredDisplayState& state, int stateDeferFlags); |