Skip to content

[CP] 3.13: [Impeller] Apply color blends on the CPU; fix mask blurs and the Gaussian blur coverage hint. #133360

@bdero

Description

@bdero

Issue Link

#132936

Commit Hash

flutter/engine@53595c9

Target

stable

PR Link

flutter/engine#45130

Changelog Description

This is a combined cherry-pick of two dependent commits: flutter/engine@81d5adb and flutter/engine@53595c9.

The first commit enables applying color filters on the CPU, and the second commit fixes issues in the generic mask blurring path as well as geometry coordinate mapping problems in the Gaussian blur.

Medium risk due to large cherry-pick and the fact that this is a forward fix. This problem is difficult to fix without a series of risky reverts, and so this is a forward fix.

Impacted Users

This issue affects Impeller users on iOS.

Impact Description

This fixes a variety of rendering problems with Impeller shadows which are exacerbated by the presence of dirty regions. When elements are moving over the top of a non-animated shadow, the shadow may sometimes render as faded or become invisible.

Workaround

There are no simple workaround for this issue.

Risk

medium

Test Coverage

yes

Validation Steps

To test, run the example Flutter app in #132936 and verify that the blur does not cut out while scrolling.
Alternatively, run the AiksTest.ClippedBlurFilterRendersCorrectly playground golden and verify that the blur does not dim out as it approaches the top edge of the screen.

Metadata

Metadata

Labels

cp: reviewCherry-picks in the review queue

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions