diff options
author | John Reck <jreck@google.com> | 2017-10-23 13:10:41 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2017-10-27 13:39:55 -0700 |
commit | f8441e65526cd1721f1ad77dad21b1a1e2743d76 (patch) | |
tree | a783f7ce274943c1fc919ba746662b962738af42 /libs/hwui/renderstate/RenderState.cpp | |
parent | 68533018e748ae7fa881cdb933ec18f9273cfc1e (diff) |
Switch to a fancy new queue
Test: unit tests & benchmarks pass/faster
Change-Id: I9521432172d6dd6039c5280b1265479a36a86247
Diffstat (limited to 'libs/hwui/renderstate/RenderState.cpp')
-rw-r--r-- | libs/hwui/renderstate/RenderState.cpp | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/libs/hwui/renderstate/RenderState.cpp b/libs/hwui/renderstate/RenderState.cpp index 6c606f738aaf..0ceca3368c06 100644 --- a/libs/hwui/renderstate/RenderState.cpp +++ b/libs/hwui/renderstate/RenderState.cpp @@ -236,25 +236,11 @@ void RenderState::destroyLayersInUpdater() { std::for_each(mActiveLayerUpdaters.begin(), mActiveLayerUpdaters.end(), destroyLayerInUpdater); } -class DecStrongTask : public renderthread::RenderTask { -public: - explicit DecStrongTask(VirtualLightRefBase* object) : mObject(object) {} - - virtual void run() override { - mObject->decStrong(nullptr); - mObject = nullptr; - delete this; - } - -private: - VirtualLightRefBase* mObject; -}; - void RenderState::postDecStrong(VirtualLightRefBase* object) { if (pthread_equal(mThreadId, pthread_self())) { object->decStrong(nullptr); } else { - mRenderThread.queue(new DecStrongTask(object)); + mRenderThread.queue().post([object]() { object->decStrong(nullptr); }); } } |