Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@bdero
Copy link
Member

@bdero bdero commented May 28, 2023

Resolves flutter/flutter#127174.

Sets the same mip bias as Skia uses. Biases towards sampling from lower (larger) mip levels -- the tradeoff is a slightly higher cache miss rate in exchange for sharper/less blurry bilinear min-filtered images.

This makes scaled down images render identically between Impeller and Skia.

Original image

image

Impeller before

Screenshot 2023-05-25 at 11 08 02 PM

Impeller after

Screenshot 2023-05-27 at 9 34 33 PM

Skia

Screenshot 2023-05-25 at 11 11 10 PM

@bdero bdero self-assigned this May 28, 2023
@bdero bdero force-pushed the bdero/mip-bias branch from 8d8c435 to a374684 Compare May 28, 2023 06:12
@bdero bdero force-pushed the bdero/mip-bias branch from a374684 to f9c18d4 Compare May 28, 2023 06:13
@bdero bdero requested review from chinmaygarde and zanderso May 28, 2023 22:01
@bdero
Copy link
Member Author

bdero commented May 28, 2023

I think this will be a pretty important quality improvement to track/retain, but it's a bit hard to capture with a sensible golden.

Maybe a good way to get a human interpretable golden for this would be to render a scaled down rasterized VG image to a second pass, and then scale it way up with nearest sampling. There's not really a way to do that through the Aiks surface, so I'll need to backdoor something.

Copy link
Contributor

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bdero bdero merged commit 98ba800 into flutter:main May 30, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 30, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 30, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request May 30, 2023
flutter/engine@5cd5b13...a6d3124

2023-05-30 jonahwilliams@google.com [Impeller] delete position_uv, tiled_texture vertex shaders. (flutter/engine#42416)
2023-05-30 bdero@google.com [Impeller] Bias towards sampling from lower mip levels (flutter/engine#42386)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jonahwilliams@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

No open projects
Archived in project

Development

Successfully merging this pull request may close these issues.

[Impeller]3x Images are blurry.

2 participants