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

Commit 80a03129 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: Ib704193d8ebd35bc62d7346d1a894671ce276956
parents 5224e9dd 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.