forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve backdrop filter calculations in SkiaRenderer
Pulls all of the bounds analysis for how to clip the output and input of a backdrop filter into the CalculateRPDQParams function. Improves the calculations for the `filter_bounds` value to be tighter for backdrop filters since their output is always restricted. Optimizes more cases to have backdrop output restricted by just a clip instead of introducing an image filter node at the end. Switches the input cropping node from a no-op Offset(0,0) to a proper `Crop` that can define the boundary tilemode to apply (kClamp). This actually fixes the behavior in the backdrop-offset unit test. It also makes it possible to easily experiment with using mirror tiling for content that is off screen. Re-organizes some of the logic for clipping or clearing the backdrop bounds into helper functions in RPDQParams so that PrepareCanvasForRPDQ is more readable. The backdrop logic to determine if an input crop is needed or not used to have a bug (exposed when removing the staging flag SK_USE_LEGACY_CONTENT_BOUNDS_PROPAGATION). The input bounds calculation needs to use a null src rect so that the returned value has no additional content restriction. If it *still* matches the target output bounds, then we know it's not a pixel-moving backdrop filter. I confirmed that the backdrop boundary layout tests work correctly with and without the above staging flag. Updates the conversion of FilterOperations to PaintFilter to define the tiling geometry, so that clamp, mirror, and repeat explicitly apply to the edges of a layer (instead of previously just the edge of whatever image size happened to come through the pipeline). This currently is only taken advantage of in SkiaRenderer, SoftwareRenderer continues to use the legacy (less stable/defined) tiling behavior. Bug: b/40040615 Bug: chromium:978031 Bug: chromium:1473071 Bug: chromium:1451898 Change-Id: I65aef30266129b2b76cb7c9d38a38e8444c6789a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4936570 Commit-Queue: Michael Ludwig <[email protected]> Reviewed-by: Kyle Charbonneau <[email protected]> Reviewed-by: Andrew Xu <[email protected]> Reviewed-by: Xiyuan Xia <[email protected]> Cr-Commit-Position: refs/heads/main@{#1215501}
- Loading branch information
Showing
30 changed files
with
329 additions
and
231 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.