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

Commit 9b100229 authored by John Reck's avatar John Reck Committed by Android (Google) Code Review
Browse files

Merge "Fix "leak" in FrameBuilder.textureLayer test"

parents 224af9e3 a55b5d6c
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@ Layer::~Layer() {
    SkSafeUnref(colorFilter);

    if (stencil || fbo || texture.mId) {
        renderState.requireGLContext();
        removeFbo();
        texture.deleteTexture();
    }
+5 −12
Original line number Diff line number Diff line
@@ -209,17 +209,6 @@ void RenderState::debugOverdraw(bool enable, bool clear) {
    }
}

void RenderState::requireGLContext() {
    assertOnGLThread();
    LOG_ALWAYS_FATAL_IF(!mRenderThread.eglManager().hasEglContext(),
            "No GL context!");
}

void RenderState::assertOnGLThread() {
    pthread_t curr = pthread_self();
    LOG_ALWAYS_FATAL_IF(!pthread_equal(mThreadId, curr), "Wrong thread!");
}

class DecStrongTask : public renderthread::RenderTask {
public:
    DecStrongTask(VirtualLightRefBase* object) : mObject(object) {}
@@ -235,8 +224,12 @@ private:
};

void RenderState::postDecStrong(VirtualLightRefBase* object) {
    if (pthread_equal(mThreadId, pthread_self())) {
        object->decStrong(nullptr);
    } else {
        mRenderThread.queue(new DecStrongTask(object));
    }
}

///////////////////////////////////////////////////////////////////////////////
// Render
+0 −3
Original line number Diff line number Diff line
@@ -86,8 +86,6 @@ public:
        mRegisteredContexts.erase(context);
    }

    void requireGLContext();

    // TODO: This system is a little clunky feeling, this could use some
    // more thinking...
    void postDecStrong(VirtualLightRefBase* object);
@@ -107,7 +105,6 @@ public:
private:
    void interruptForFunctorInvoke();
    void resumeFromFunctorInvoke();
    void assertOnGLThread();

    RenderState(renderthread::RenderThread& thread);
    ~RenderState();