From 56ad6ec42f814e9e61030ff819cac4e5d31def8b Mon Sep 17 00:00:00 2001 From: Derek Sollenberger Date: Fri, 22 Jul 2016 12:13:32 -0400 Subject: Remove LayerRenderer. There is only one caller each for the static functions here so this CL moves the logic to the caller. Also by moving some of the code into the pipeline it makes it easier for future changes to configure how a pipeline handles a layer. Change-Id: Ib735b5154325cbb658fd151f7a19dbf434ab44b7 --- libs/hwui/DeferredLayerUpdater.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'libs/hwui/DeferredLayerUpdater.cpp') diff --git a/libs/hwui/DeferredLayerUpdater.cpp b/libs/hwui/DeferredLayerUpdater.cpp index f13cb8d7d1d7..c42ff1a93353 100644 --- a/libs/hwui/DeferredLayerUpdater.cpp +++ b/libs/hwui/DeferredLayerUpdater.cpp @@ -15,7 +15,6 @@ */ #include "DeferredLayerUpdater.h" -#include "LayerRenderer.h" #include "renderthread/EglManager.h" #include "renderthread/RenderTask.h" #include "utils/PaintUtils.h" @@ -29,8 +28,8 @@ DeferredLayerUpdater::DeferredLayerUpdater(Layer* layer) , mNeedsGLContextAttach(false) , mUpdateTexImage(false) , mLayer(layer) { - mWidth = mLayer->layer.getWidth(); - mHeight = mLayer->layer.getHeight(); + mWidth = mLayer->getWidth(); + mHeight = mLayer->getHeight(); mBlend = mLayer->isBlend(); mColorFilter = SkSafeRef(mLayer->getColorFilter()); mAlpha = mLayer->getAlpha(); @@ -107,8 +106,22 @@ void DeferredLayerUpdater::doUpdateTexImage() { LOG_ALWAYS_FATAL_IF(renderTarget != GL_TEXTURE_2D && renderTarget != GL_TEXTURE_EXTERNAL_OES, "doUpdateTexImage target %x, 2d %x, EXT %x", renderTarget, GL_TEXTURE_2D, GL_TEXTURE_EXTERNAL_OES); - LayerRenderer::updateTextureLayer(mLayer, mWidth, mHeight, - !mBlend, forceFilter, renderTarget, transform); + updateLayer(forceFilter, renderTarget, transform); + } +} + +void DeferredLayerUpdater::updateLayer(bool forceFilter, GLenum renderTarget, + const float* textureTransform) { + mLayer->setBlend(mBlend); + mLayer->setForceFilter(forceFilter); + mLayer->setSize(mWidth, mHeight); + mLayer->getTexTransform().load(textureTransform); + + if (renderTarget != mLayer->getRenderTarget()) { + mLayer->setRenderTarget(renderTarget); + mLayer->bindTexture(); + mLayer->setFilter(GL_NEAREST, false, true); + mLayer->setWrap(GL_CLAMP_TO_EDGE, false, true); } } -- cgit v1.2.3-59-g8ed1b