summaryrefslogtreecommitdiff
path: root/libs/hwui/renderstate/RenderState.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2017-10-23 13:10:41 -0700
committerJohn Reck <jreck@google.com>2017-10-27 13:39:55 -0700
commitf8441e65526cd1721f1ad77dad21b1a1e2743d76 (patch)
treea783f7ce274943c1fc919ba746662b962738af42 /libs/hwui/renderstate/RenderState.cpp
parent68533018e748ae7fa881cdb933ec18f9273cfc1e (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.cpp16
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); });
}
}