summaryrefslogtreecommitdiff
path: root/libs/hwui/renderthread/RenderProxy.h
diff options
context:
space:
mode:
authorRob Carr <racarr@google.com>2021-06-25 02:18:17 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-06-25 02:18:17 +0000
commit472d962453e89c3c9da5c6d0aa024978ca534b4d (patch)
treea78ecfd15781dbb139f86115d5c704ca94e9c59f /libs/hwui/renderthread/RenderProxy.h
parent4a9037a8cdad62c2b0b20de37696a3ee135679fa (diff)
parentda3559683482a61d93b06bed6f46349f6f01dc63 (diff)
Merge "Delete RenderProxy off of the cleaner thread" into sc-dev
Diffstat (limited to 'libs/hwui/renderthread/RenderProxy.h')
-rw-r--r--libs/hwui/renderthread/RenderProxy.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/hwui/renderthread/RenderProxy.h b/libs/hwui/renderthread/RenderProxy.h
index 1b0f22e75a2d..5f6b5cde652d 100644
--- a/libs/hwui/renderthread/RenderProxy.h
+++ b/libs/hwui/renderthread/RenderProxy.h
@@ -62,10 +62,14 @@ enum {
* references RenderProxy fields. This is safe as RenderProxy cannot
* be deleted if it is blocked inside a call.
*/
-class RenderProxy {
+class RenderProxy final {
public:
RenderProxy(bool opaque, RenderNode* rootNode, IContextFactory* contextFactory);
- virtual ~RenderProxy();
+ ~RenderProxy();
+
+ // Schedules a delete of the RenderProxy at a later date. Avoids blocking the current thread
+ // on destruction which ~RenderProxy does by default.
+ static void asyncDelete(RenderProxy*);
// Won't take effect until next EGLSurface creation
void setSwapBehavior(SwapBehavior swapBehavior);