summaryrefslogtreecommitdiff
path: root/libs/hwui/renderthread/RenderThread.cpp
diff options
context:
space:
mode:
authorBill Peckham <bpeckham@google.com>2018-09-24 14:49:10 -0700
committerDiego Wilson <diegowilson@google.com>2018-10-04 11:57:56 -0700
commit2edeff882ab756e76b3a028a1568d8774ddc0257 (patch)
tree3b54f9549f9d0ae073a49a635a164a780c6bfe12 /libs/hwui/renderthread/RenderThread.cpp
parent1730c08a2fd38f0ff8135692a855ada865130939 (diff)
parentcbdf1ce35f096fb94a153100382f750c60b27b5c (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.cpp24
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;