summaryrefslogtreecommitdiffstats
path: root/libs/hwui/renderthread/CanvasContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/hwui/renderthread/CanvasContext.cpp')
-rw-r--r--libs/hwui/renderthread/CanvasContext.cpp15
1 files changed, 2 insertions, 13 deletions
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index 8329cd4..706e14e 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -262,8 +262,6 @@ void CanvasContext::draw() {
if (drew) {
swapBuffers(dirty, width, height);
- } else {
- mEglManager.cancelFrame();
}
// TODO: Use a fence for real completion?
@@ -297,7 +295,6 @@ void CanvasContext::invokeFunctor(RenderThread& thread, Functor* functor) {
ATRACE_CALL();
DrawGlInfo::Mode mode = DrawGlInfo::kModeProcessNoContext;
if (thread.eglManager().hasEglContext()) {
- thread.eglManager().requireGlContext();
mode = DrawGlInfo::kModeProcess;
}
@@ -318,7 +315,6 @@ static void destroyPrefetechedNode(RenderNode* node) {
void CanvasContext::freePrefetechedLayers() {
if (mPrefetechedLayers.size()) {
- requireGlContext();
std::for_each(mPrefetechedLayers.begin(), mPrefetechedLayers.end(), destroyPrefetechedNode);
mPrefetechedLayers.clear();
}
@@ -329,7 +325,6 @@ void CanvasContext::buildLayer(RenderNode* node) {
if (!mEglManager.hasEglContext() || !mCanvas) {
return;
}
- requireGlContext();
// buildLayer() will leave the tree in an unknown state, so we must stop drawing
stopDrawing();
@@ -352,7 +347,6 @@ void CanvasContext::buildLayer(RenderNode* node) {
}
bool CanvasContext::copyLayerInto(DeferredLayerUpdater* layer, SkBitmap* bitmap) {
- requireGlContext();
layer->apply();
return LayerRenderer::copyLayer(mRenderThread.renderState(), layer->backingLayer(), bitmap);
}
@@ -360,7 +354,6 @@ bool CanvasContext::copyLayerInto(DeferredLayerUpdater* layer, SkBitmap* bitmap)
void CanvasContext::destroyHardwareResources() {
stopDrawing();
if (mEglManager.hasEglContext()) {
- requireGlContext();
freePrefetechedLayers();
mRootRenderNode->destroyHardwareResources();
Caches::getInstance().flush(Caches::kFlushMode_Layers);
@@ -372,7 +365,6 @@ void CanvasContext::trimMemory(RenderThread& thread, int level) {
if (!thread.eglManager().hasEglContext()) return;
ATRACE_CALL();
- thread.eglManager().requireGlContext();
if (level >= TRIM_MEMORY_COMPLETE) {
Caches::getInstance().flush(Caches::kFlushMode_Full);
thread.eglManager().destroy();
@@ -382,7 +374,8 @@ void CanvasContext::trimMemory(RenderThread& thread, int level) {
}
void CanvasContext::runWithGlContext(RenderTask* task) {
- requireGlContext();
+ LOG_ALWAYS_FATAL_IF(!mEglManager.hasEglContext(),
+ "GL context not initialized!");
task->run();
}
@@ -391,10 +384,6 @@ Layer* CanvasContext::createTextureLayer() {
return LayerRenderer::createTextureLayer(mRenderThread.renderState());
}
-void CanvasContext::requireGlContext() {
- mEglManager.requireGlContext();
-}
-
void CanvasContext::setTextureAtlas(RenderThread& thread,
const sp<GraphicBuffer>& buffer, int64_t* map, size_t mapSize) {
thread.eglManager().setTextureAtlas(buffer, map, mapSize);