diff options
author | 2021-01-06 13:17:08 -0800 | |
---|---|---|
committer | 2021-01-06 20:22:57 -0800 | |
commit | 243dbc2c8dc53717255f318f50a000d56cbabf04 (patch) | |
tree | 5aae1845c53eaf32a450f14b5a3bbfd7de34c77d | |
parent | 878166c9b3d22ef7ac7a7235a80bdf44daf1b3df (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
-rw-r--r-- | libs/renderengine/RenderEngine.cpp | 7 | ||||
-rw-r--r-- | libs/renderengine/include/renderengine/RenderEngine.h | 1 |
2 files changed, 8 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"); diff --git a/libs/renderengine/include/renderengine/RenderEngine.h b/libs/renderengine/include/renderengine/RenderEngine.h index 915706675a..506f81ecc2 100644 --- a/libs/renderengine/include/renderengine/RenderEngine.h +++ b/libs/renderengine/include/renderengine/RenderEngine.h @@ -82,6 +82,7 @@ public: GLES = 1, THREADED = 2, SKIA_GL = 3, + SKIA_GL_THREADED = 4, }; static std::unique_ptr<RenderEngine> create(const RenderEngineCreationArgs& args); |