Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c8a9fdff authored by Chris Craik's avatar Chris Craik Committed by Android (Google) Code Review
Browse files

Merge "Reset draw modifiers after flushing" into jb-mr2-dev

parents bb131f52 d0afeac6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);

+8 −4
Original line number Diff line number Diff line
@@ -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);
+1 −0
Original line number Diff line number Diff line
@@ -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);