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

Commit b2ee64ed authored by Romain Guy's avatar Romain Guy Committed by Android (Google) Code Review
Browse files

Merge "Fix regression with hardware layers." into honeycomb

parents 794e8867 c88e357d
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -29,6 +29,10 @@ namespace uirenderer {
void LayerRenderer::prepare(bool opaque) {
    LAYER_RENDERER_LOGD("Rendering into layer, fbo = %d", mLayer->fbo);

#if RENDER_LAYERS_AS_REGIONS
    mLayer->region.clear();
#endif

    glBindFramebuffer(GL_FRAMEBUFFER, mLayer->fbo);

    OpenGLRenderer::prepare(opaque);
@@ -79,7 +83,6 @@ void LayerRenderer::generateMesh() {
            mLayer->meshIndices = NULL;
            mLayer->meshElementCount = 0;
        }
        mLayer->region.clear();
        return;
    }

@@ -131,8 +134,6 @@ void LayerRenderer::generateMesh() {
        indices[index + 4] = quad + 1;   // top-right
        indices[index + 5] = quad + 3;   // bottom-right
    }

    mLayer->region.clear();
#endif
}

+25 −23
Original line number Diff line number Diff line
@@ -1568,10 +1568,11 @@ void OpenGLRenderer::drawLayer(Layer* layer, float x, float y, SkPaint* paint) {


#if RENDER_LAYERS_AS_REGIONS
    if (!layer->region.isEmpty()) {
        if (layer->region.isRect()) {
            const Rect r(x, y, x + layer->layer.getWidth(), y + layer->layer.getHeight());
            composeLayerRect(layer, r);
    } else if (!layer->region.isEmpty() && layer->mesh) {
        } else if (layer->mesh) {
            const Rect& rect = layer->layer;

            setupDraw();
@@ -1592,6 +1593,7 @@ void OpenGLRenderer::drawLayer(Layer* layer, float x, float y, SkPaint* paint) {

            finishDrawTexture();
        }
    }
#else
    const Rect r(x, y, x + layer->layer.getWidth(), y + layer->layer.getHeight());
    composeLayerRect(layer, r);