Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56ad6ec4 authored by Derek Sollenberger's avatar Derek Sollenberger
Browse files

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
parent e116bcf7
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@
#include <SkXfermode.h>

#include <DeferredLayerUpdater.h>
#include <LayerRenderer.h>
#include <SkiaShader.h>
#include <Rect.h>
#include <RenderNode.h>
+1 −1
Original line number Diff line number Diff line
@@ -70,7 +70,6 @@ hwui_src_files := \
    JankTracker.cpp \
    Layer.cpp \
    LayerBuilder.cpp \
    LayerRenderer.cpp \
    LayerUpdateQueue.cpp \
    Matrix.cpp \
    OpDumper.cpp \
@@ -249,6 +248,7 @@ LOCAL_SRC_FILES += \
    tests/unit/CanvasStateTests.cpp \
    tests/unit/ClipAreaTests.cpp \
    tests/unit/DamageAccumulatorTests.cpp \
    tests/unit/DeferredLayerUpdaterTests.cpp \
    tests/unit/DeviceInfoTests.cpp \
    tests/unit/FatVectorTests.cpp \
    tests/unit/FontRendererTests.cpp \
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
#include "Caches.h"

#include "GammaFontRenderer.h"
#include "LayerRenderer.h"
#include "Layer.h"
#include "Properties.h"
#include "renderstate/RenderState.h"
#include "ShadowTessellator.h"
+18 −5
Original line number Diff line number Diff line
@@ -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);
    }
}

+2 −0
Original line number Diff line number Diff line
@@ -92,6 +92,8 @@ public:

    void detachSurfaceTexture();

    void updateLayer(bool forceFilter, GLenum renderTarget, const float* textureTransform);

private:
    // Generic properties
    int mWidth;
Loading