summaryrefslogtreecommitdiff
path: root/libs/renderengine/RenderEngine.cpp
diff options
context:
space:
mode:
author Ana Krulec <akrulec@google.com> 2021-01-06 13:17:08 -0800
committer Ana Krulec <akrulec@google.com> 2021-01-06 20:22:57 -0800
commit243dbc2c8dc53717255f318f50a000d56cbabf04 (patch)
tree5aae1845c53eaf32a450f14b5a3bbfd7de34c77d /libs/renderengine/RenderEngine.cpp
parent878166c9b3d22ef7ac7a7235a80bdf44daf1b3df (diff)
Creating Threaded Skia GL RE
The RE creates a thread and intializes SkiaGLRenderEngine on it. This first pass is synchronous communication. Test: adb shell setprop debug.renderengine.backend "skiaglthreaded" Change-Id: I9811c51f8cc2a999fb2587067bd5dd3a5a972cd1
Diffstat (limited to 'libs/renderengine/RenderEngine.cpp')
-rw-r--r--libs/renderengine/RenderEngine.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/renderengine/RenderEngine.cpp b/libs/renderengine/RenderEngine.cpp
index 3e65d9afce..45db31c026 100644
--- a/libs/renderengine/RenderEngine.cpp
+++ b/libs/renderengine/RenderEngine.cpp
@@ -41,6 +41,9 @@ std::unique_ptr<RenderEngine> RenderEngine::create(const RenderEngineCreationArg
if (strcmp(prop, "skiagl") == 0) {
renderEngineType = RenderEngineType::SKIA_GL;
}
+ if (strcmp(prop, "skiaglthreaded") == 0) {
+ renderEngineType = RenderEngineType::SKIA_GL_THREADED;
+ }
switch (renderEngineType) {
case RenderEngineType::THREADED:
@@ -49,6 +52,10 @@ std::unique_ptr<RenderEngine> RenderEngine::create(const RenderEngineCreationArg
[args]() { return android::renderengine::gl::GLESRenderEngine::create(args); });
case RenderEngineType::SKIA_GL:
return renderengine::skia::SkiaGLRenderEngine::create(args);
+ case RenderEngineType::SKIA_GL_THREADED:
+ return renderengine::threaded::RenderEngineThreaded::create([args]() {
+ return android::renderengine::skia::SkiaGLRenderEngine::create(args);
+ });
case RenderEngineType::GLES:
default:
ALOGD("RenderEngine with GLES Backend");