summaryrefslogtreecommitdiff
path: root/libs/hwui/RecordingCanvas.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2016-04-14 10:38:54 -0700
committerJohn Reck <jreck@google.com>2016-04-15 10:56:53 -0700
commitcd1c3eba69d044b551cededad75474038f919890 (patch)
treee7ec0697f43ef8d23420732f620587f99c67475a /libs/hwui/RecordingCanvas.cpp
parenta4c0b1de1a33219b4f8ef1cdfc4e7641ac246f4b (diff)
Add a callback for when a gl functor is released
Bug: 27709981 Change-Id: Id5be3e8f88d6d84a9c59c7ed23e7e8862feefbe8
Diffstat (limited to 'libs/hwui/RecordingCanvas.cpp')
-rw-r--r--libs/hwui/RecordingCanvas.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/hwui/RecordingCanvas.cpp b/libs/hwui/RecordingCanvas.cpp
index ab733f138b25..b49f9b529989 100644
--- a/libs/hwui/RecordingCanvas.cpp
+++ b/libs/hwui/RecordingCanvas.cpp
@@ -594,8 +594,10 @@ void RecordingCanvas::drawLayer(DeferredLayerUpdater* layerHandle) {
layerHandle->backingLayer()));
}
-void RecordingCanvas::callDrawGLFunction(Functor* functor) {
- mDisplayList->functors.push_back(functor);
+void RecordingCanvas::callDrawGLFunction(Functor* functor,
+ GlFunctorLifecycleListener* listener) {
+ mDisplayList->functors.push_back({functor, listener});
+ mDisplayList->ref(listener);
addOp(alloc().create_trivial<FunctorOp>(
*(mState.currentSnapshot()->transform),
getRecordedClip(),