diff options
author | Bill Peckham <bpeckham@google.com> | 2018-09-24 14:49:10 -0700 |
---|---|---|
committer | Diego Wilson <diegowilson@google.com> | 2018-10-04 11:57:56 -0700 |
commit | 2edeff882ab756e76b3a028a1568d8774ddc0257 (patch) | |
tree | 3b54f9549f9d0ae073a49a635a164a780c6bfe12 /libs/hwui/renderthread/RenderThread.cpp | |
parent | 1730c08a2fd38f0ff8135692a855ada865130939 (diff) | |
parent | cbdf1ce35f096fb94a153100382f750c60b27b5c (diff) |
Merge QP1A.180918.001
Conflicts:
telephony/java/android/telephony/ims/ImsReasonInfo.java
Change-Id: I935fa14ebd4c23231c93729e55baf39265c05199
Diffstat (limited to 'libs/hwui/renderthread/RenderThread.cpp')
-rw-r--r-- | libs/hwui/renderthread/RenderThread.cpp | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/libs/hwui/renderthread/RenderThread.cpp b/libs/hwui/renderthread/RenderThread.cpp index c1284ec02655..7258a0aa4f02 100644 --- a/libs/hwui/renderthread/RenderThread.cpp +++ b/libs/hwui/renderthread/RenderThread.cpp @@ -19,13 +19,12 @@ #include "CanvasContext.h" #include "DeviceInfo.h" #include "EglManager.h" +#include "Readback.h" #include "RenderProxy.h" #include "VulkanManager.h" #include "hwui/Bitmap.h" #include "pipeline/skia/SkiaOpenGLPipeline.h" -#include "pipeline/skia/SkiaOpenGLReadback.h" #include "pipeline/skia/SkiaVulkanPipeline.h" -#include "pipeline/skia/SkiaVulkanReadback.h" #include "renderstate/RenderState.h" #include "utils/FatVector.h" #include "utils/TimeUtils.h" @@ -178,7 +177,7 @@ void RenderThread::requireGlContext() { return; } mEglManager->initialize(); - renderState().onGLContextCreated(); + renderState().onContextCreated(); #ifdef HWUI_GLES_WRAP_ENABLED debug::GlesDriver* driver = debug::GlesDriver::get(); @@ -191,7 +190,9 @@ void RenderThread::requireGlContext() { GrContextOptions options; options.fPreferExternalImagesOverES3 = true; options.fDisableDistanceFieldPaths = true; - cacheManager().configureContext(&options); + auto glesVersion = reinterpret_cast<const char*>(glGetString(GL_VERSION)); + auto size = glesVersion ? strlen(glesVersion) : -1; + cacheManager().configureContext(&options, glesVersion, size); sk_sp<GrContext> grContext(GrContext::MakeGL(std::move(glInterface), options)); LOG_ALWAYS_FATAL_IF(!grContext.get()); setGrContext(grContext); @@ -200,7 +201,7 @@ void RenderThread::requireGlContext() { void RenderThread::destroyGlContext() { if (mEglManager->hasEglContext()) { setGrContext(nullptr); - renderState().onGLContextDestroyed(); + renderState().onContextDestroyed(); mEglManager->destroy(); } } @@ -233,18 +234,7 @@ void RenderThread::dumpGraphicsMemory(int fd) { Readback& RenderThread::readback() { if (!mReadback) { - auto renderType = Properties::getRenderPipelineType(); - switch (renderType) { - case RenderPipelineType::SkiaGL: - mReadback = new skiapipeline::SkiaOpenGLReadback(*this); - break; - case RenderPipelineType::SkiaVulkan: - mReadback = new skiapipeline::SkiaVulkanReadback(*this); - break; - default: - LOG_ALWAYS_FATAL("canvas context type %d not supported", (int32_t)renderType); - break; - } + mReadback = new Readback(*this); } return *mReadback; |