summaryrefslogtreecommitdiffstats
path: root/libs/hwui/renderthread/RenderProxy.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-02-11 10:40:25 -0800
committerJohn Reck <jreck@google.com>2014-02-11 10:40:25 -0800
commitfc53ef27793a39e9effd829e9cae02a9ca14147e (patch)
tree0269d0943677006ad8fdf981bd5eaa70bc9631f1 /libs/hwui/renderthread/RenderProxy.cpp
parentf6eebb21d5c58345eca8be25676e34346f5809b2 (diff)
downloadframeworks_base-fc53ef27793a39e9effd829e9cae02a9ca14147e.zip
frameworks_base-fc53ef27793a39e9effd829e9cae02a9ca14147e.tar.gz
frameworks_base-fc53ef27793a39e9effd829e9cae02a9ca14147e.tar.bz2
Implement missing safelyRun() on ThreadedRenderer
Change-Id: I14b75f37a13fabaa759a51369190dbdc84087c4b
Diffstat (limited to 'libs/hwui/renderthread/RenderProxy.cpp')
-rw-r--r--libs/hwui/renderthread/RenderProxy.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/hwui/renderthread/RenderProxy.cpp b/libs/hwui/renderthread/RenderProxy.cpp
index 25badac..34f1961 100644
--- a/libs/hwui/renderthread/RenderProxy.cpp
+++ b/libs/hwui/renderthread/RenderProxy.cpp
@@ -170,6 +170,18 @@ void RenderProxy::detachFunctor(Functor* functor) {
post(task);
}
+CREATE_BRIDGE2(runWithGlContext, CanvasContext* context, RenderTask* task) {
+ args->context->runWithGlContext(args->task);
+ return NULL;
+}
+
+void RenderProxy::runWithGlContext(RenderTask* gltask) {
+ SETUP_TASK(runWithGlContext);
+ args->context = mContext;
+ args->task = gltask;
+ postAndWait(task);
+}
+
MethodInvokeRenderTask* RenderProxy::createTask(RunnableMethod method) {
// TODO: Consider having a small pool of these to avoid alloc churn
return new MethodInvokeRenderTask(method);