Add a callback for when a gl functor is released
Bug: 27709981
Change-Id: Id5be3e8f88d6d84a9c59c7ed23e7e8862feefbe8
diff --git a/libs/hwui/DisplayListCanvas.cpp b/libs/hwui/DisplayListCanvas.cpp
index c6e92ab..ca968ce 100644
--- a/libs/hwui/DisplayListCanvas.cpp
+++ b/libs/hwui/DisplayListCanvas.cpp
@@ -81,9 +81,11 @@
return displayList;
}
-void DisplayListCanvas::callDrawGLFunction(Functor *functor) {
+void DisplayListCanvas::callDrawGLFunction(Functor* functor,
+ GlFunctorLifecycleListener* listener) {
addDrawOp(new (alloc()) DrawFunctorOp(functor));
- mDisplayList->functors.push_back(functor);
+ mDisplayList->functors.push_back({functor, listener});
+ mDisplayList->ref(listener);
}
SkCanvas* DisplayListCanvas::asSkCanvas() {