summaryrefslogtreecommitdiff
path: root/libs/renderengine/RenderEngine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/renderengine/RenderEngine.cpp')
-rw-r--r--libs/renderengine/RenderEngine.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/libs/renderengine/RenderEngine.cpp b/libs/renderengine/RenderEngine.cpp
index 45db31c026..b2ad22d687 100644
--- a/libs/renderengine/RenderEngine.cpp
+++ b/libs/renderengine/RenderEngine.cpp
@@ -51,11 +51,28 @@ std::unique_ptr<RenderEngine> RenderEngine::create(const RenderEngineCreationArg
return renderengine::threaded::RenderEngineThreaded::create(
[args]() { return android::renderengine::gl::GLESRenderEngine::create(args); });
case RenderEngineType::SKIA_GL:
+ ALOGD("RenderEngine with SkiaGL Backend");
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::SKIA_GL_THREADED: {
+ // These need to be recreated, since they are a constant reference, and we need to
+ // let SkiaRE know that it's running as threaded, and all GL operation will happen on
+ // the same thread.
+ RenderEngineCreationArgs skiaArgs =
+ RenderEngineCreationArgs::Builder()
+ .setPixelFormat(args.pixelFormat)
+ .setImageCacheSize(args.imageCacheSize)
+ .setUseColorManagerment(args.useColorManagement)
+ .setEnableProtectedContext(args.enableProtectedContext)
+ .setPrecacheToneMapperShaderOnly(args.precacheToneMapperShaderOnly)
+ .setSupportsBackgroundBlur(args.supportsBackgroundBlur)
+ .setContextPriority(args.contextPriority)
+ .setRenderEngineType(RenderEngineType::SKIA_GL_THREADED)
+ .build();
+ ALOGD("Threaded RenderEngine with SkiaGL Backend");
+ return renderengine::threaded::RenderEngineThreaded::create([skiaArgs]() {
+ return android::renderengine::skia::SkiaGLRenderEngine::create(skiaArgs);
});
+ }
case RenderEngineType::GLES:
default:
ALOGD("RenderEngine with GLES Backend");