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

[CP][Impeller] relax conditions for SkRRect.isSimple conversion to impell… #53208

Merged

Conversation

jonahwilliams
Copy link
Member

…er::RRect. (#53083)

The flickering in flutter/flutter#148412 is caused by us switching between the RRect fast path and a gaussian blur. The reason is that the SkRect.isSimple check doesn't handle fp precision very well. On one of the frames the difference was :

D/skia (18362): SkRect::MakeLTRB(74, 179.666672f, 374, 479.666656f);
D/skia (18362): const SkPoint corners[] = {
D/skia (18362): { 150, 149.999969f },
D/skia (18362): { 150, 150 },
D/skia (18362): { 150, 149.999969f },
D/skia (18362): { 150, 150 },
D/skia (18362): };

So lets used a relaxed check for RRect.isSimple instead.

Fixes flutter/flutter#148412

…er::RRect. (flutter#53083)

The flickering in flutter/flutter#148412 is caused by us switching between the RRect fast path and a gaussian blur. The reason is that the SkRect.isSimple check doesn't handle fp precision very well. On one of the frames the difference was :

```
D/skia (18362): SkRect::MakeLTRB(74, 179.666672f, 374, 479.666656f);
D/skia (18362): const SkPoint corners[] = {
D/skia (18362): { 150, 149.999969f },
D/skia (18362): { 150, 150 },
D/skia (18362): { 150, 149.999969f },
D/skia (18362): { 150, 150 },
D/skia (18362): };
```

So lets used a relaxed check for RRect.isSimple instead.

Fixes flutter/flutter#148412
@itsjustkevin itsjustkevin added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 1, 2024
@auto-submit auto-submit bot merged commit 0dcd108 into flutter:flutter-3.22-candidate.0 Jul 1, 2024
24 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
autosubmit Merge PR when tree becomes green via auto submit App e: impeller
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants