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

Commit 8580955b authored by Derek Sollenberger's avatar Derek Sollenberger Committed by Automerger Merge Worker
Browse files

Merge "Ensure that blurRegions take into account the buffers rotation." into sc-dev am: 0f249cea

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/14329953

Change-Id: I07c1835cafe2281c7c9a463653519d8a6ad87992
parents d9d7280b 0f249cea
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -156,6 +156,10 @@ struct LayerSettings {

    std::vector<BlurRegion> blurRegions;

    // Transform matrix used to convert the blurRegions geometry into the same
    // coordinate space as LayerSettings.geometry
    mat4 blurRegionTransform = mat4();

    StretchEffect stretchEffect;

    // Name associated with the layer for debugging purposes.
+2 −0
Original line number Diff line number Diff line
@@ -834,6 +834,8 @@ status_t SkiaGLRenderEngine::drawLayers(const DisplaySettings& display,
                    mBlurFilter->drawBlurRegion(canvas, getBlurRegion(layer), blurRect,
                                                blurredImage, blurInput);
                }
                SkAutoCanvasRestore acr(canvas, true);
                canvas->concat(getSkM44(layer->blurRegionTransform).asM33());
                for (auto region : layer->blurRegions) {
                    if (cachedBlurs[region.blurRadius] == nullptr) {
                        ATRACE_NAME("BlurRegion");
+2 −0
Original line number Diff line number Diff line
@@ -632,6 +632,8 @@ std::optional<compositionengine::LayerFE::LayerSettings> Layer::prepareClientCom
    if (!targetSettings.disableBlurs) {
        layerSettings.backgroundBlurRadius = getBackgroundBlurRadius();
        layerSettings.blurRegions = getBlurRegions();
        layerSettings.blurRegionTransform =
                getActiveTransform(getDrawingState()).inverse().asMatrix4();
    }
    layerSettings.stretchEffect = getDrawingState().stretchEffect;
    // Record the name of the layer for debugging further down the stack.