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

Conversation

@flar
Copy link
Contributor

@flar flar commented Dec 13, 2023

This work leverages the recent work to directly tessellate the simple primitives for rendering and uses their geometry classes for equivalent clip primitives.

@flutter-dashboard
Copy link

Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change).

If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review.

Changes reported for pull request #48959 at sha f4d020b

@flar
Copy link
Contributor Author

flar commented Dec 13, 2023

There are 2 new goldens, but a couple of the old tests have "off by 1" pixels on the edges of the RRect clips that I've left for reviewers to see.

Perf data, using my primitive basher. Note that I didn't think this would show much improvement at all since I have to do:

  Save()
  ClipFoo(...)
  DrawRect(bounds, paint)
  Restore()

for each operation, but on my M1 MBPro:

5k clip primitives on MBP M1 Max

@flar flar requested review from bdero and jonahwilliams December 13, 2023 04:18
@flar
Copy link
Contributor Author

flar commented Dec 13, 2023

I was going to provide numbers for my Pixel 6a, but the text on the Performance Overlay seems to have disappeared.

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!

return; // This clip will do nothing, so skip it.
}

ClipGeometry(geometry, clip_op);
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
ClipGeometry(geometry, clip_op);
ClipGeometry(std::move(geometry), clip_op);

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Skipping to avoid having to modify more method signatures to go along with this change...

@flar flar added the autosubmit Merge PR when tree becomes green via auto submit App label Dec 13, 2023
@auto-submit auto-submit bot merged commit 44fdca9 into flutter:main Dec 13, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 13, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 13, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Dec 13, 2023
…140084)

flutter/engine@9039ac7...fc32677

2023-12-13 jason-simmons@users.noreply.github.com Revert Dart SDK back to 3.3.0-219.0.dev (flutter/engine#48990)
2023-12-13 flar@google.com [Impeller] Use direct tessellation geometry for simple clip shapes (flutter/engine#48959)
2023-12-13 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Android] Re-land "Add target to have linux_android_emulator_tests run on AVDs with Android 33 & 34"" (flutter/engine#48988)
2023-12-13 31859944+LongCatIsLooong@users.noreply.github.com Add a constructor for `GlyphInfo`. (flutter/engine#48971)
2023-12-13 737941+loic-sharma@users.noreply.github.com [Windows] Refactor surface manager mocking (flutter/engine#48953)
2023-12-13 skia-flutter-autoroll@skia.org Roll Skia from 6e5bd9b1d91d to f3401c6186c1 (2 revisions) (flutter/engine#48981)
2023-12-13 skia-flutter-autoroll@skia.org Roll Skia from 1e63c048ded7 to 6e5bd9b1d91d (1 revision) (flutter/engine#48973)
2023-12-13 skia-flutter-autoroll@skia.org Roll Skia from 927f20598b11 to 1e63c048ded7 (1 revision) (flutter/engine#48968)
2023-12-13 skia-flutter-autoroll@skia.org Roll Dart SDK from 17143c130ab3 to 114f2e8de3e5 (1 revision) (flutter/engine#48969)
2023-12-13 jason-simmons@users.noreply.github.com Workarounds for clang-tidy warnings in the next roll of Clang (flutter/engine#48963)
2023-12-13 matanlurey@users.noreply.github.com Migrate `impeller/**.h` to header guards. (flutter/engine#48962)
2023-12-13 skia-flutter-autoroll@skia.org Roll Dart SDK from 02f28120470f to 17143c130ab3 (1 revision) (flutter/engine#48961)
2023-12-13 43054281+camsim99@users.noreply.github.com [Android] Re-land "Add target to have linux_android_emulator_tests run on AVDs with Android 33 & 34" (flutter/engine#48936)
2023-12-13 skia-flutter-autoroll@skia.org Roll Skia from 49e32eb178a7 to 927f20598b11 (3 revisions) (flutter/engine#48956)
2023-12-13 1961493+harryterkelsen@users.noreply.github.com [web:multiview] Make CanvasKitRenderer listen for view creation/disposal events (flutter/engine#48812)
2023-12-12 matanlurey@users.noreply.github.com Move `third_party/swiftshader`, roll buildroot `DEPS`. (flutter/engine#48946)
2023-12-12 flar@google.com [Impeller] Direct tessellation of simple filled round rects (flutter/engine#48919)
2023-12-12 skia-flutter-autoroll@skia.org Roll Skia from 8e8d92ac1536 to 49e32eb178a7 (1 revision) (flutter/engine#48949)
2023-12-12 skia-flutter-autoroll@skia.org Roll Dart SDK from a677378ae254 to 02f28120470f (1 revision) (flutter/engine#48945)
2023-12-12 skia-flutter-autoroll@skia.org Roll Skia from 43a400456ab4 to 8e8d92ac1536 (1 revision) (flutter/engine#48941)
2023-12-12 skia-flutter-autoroll@skia.org Roll Skia from 3678212a85b8 to 43a400456ab4 (2 revisions) (flutter/engine#48939)
2023-12-12 matanlurey@users.noreply.github.com Roll `buildroot` and delete `libxml`. (flutter/engine#48906)
2023-12-12 skia-flutter-autoroll@skia.org Roll Skia from 16298087c277 to 3678212a85b8 (2 revisions) (flutter/engine#48934)
2023-12-12 jason-simmons@users.noreply.github.com Manual roll of Dart SDK from 82c4571bb2de to a677378ae254 (flutter/engine#48933)
2023-12-12 skia-flutter-autoroll@skia.org Roll Skia from 7685acfb6221 to 16298087c277 (1 revision) (flutter/engine#48931)
2023-12-12 mdebbar@google.com [web] Handle resizes at the view level (flutter/engine#48892)

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 jsimmons@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://issues.skia.org/issues/new?component=1389291&template=1850622

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.

Labels

autosubmit Merge PR when tree becomes green via auto submit App e: impeller will affect goldens

Projects

No open projects
Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants