diff options
| author | 2021-01-21 03:24:43 +0000 | |
|---|---|---|
| committer | 2021-01-21 03:24:43 +0000 | |
| commit | 2fc978ff528a7c3843524e4e4feea424bc680ffe (patch) | |
| tree | 85fcc82720e4dc4d58848c4e4b72130df7fc5ec8 /libs/renderengine/RenderEngine.cpp | |
| parent | ea5d5a9c8b82746e5bb13a608b418a79050f632c (diff) | |
| parent | dfec8f5f9665e4088900cd76f656f480a10ed464 (diff) | |
Merge "Caching images and textures for threaded Skia RE"
Diffstat (limited to 'libs/renderengine/RenderEngine.cpp')
| -rw-r--r-- | libs/renderengine/RenderEngine.cpp | 23 |
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"); |