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

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: flutter/engine
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: e9f80bf
Choose a base ref
...
head repository: flutter/engine
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: a7bea86
Choose a head ref
  • 3 commits
  • 82 files changed
  • 3 contributors

Commits on Aug 4, 2023

  1. [Impeller] Added a doc page to point out important impeller benchmarks (

    #44333)
    
    My main goal here was to get a more clear picture of how the Vulkan implementation is performing in relation to the OpenGLES implementation.  There is a lot of conventional wisdom about what benchmarks to look at that isn't documented anywhere.  As we come to rely on benchmarks daily this should be updated.
    
    issue: flutter/flutter#131784
    issue: flutter/flutter#131782
    
    [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
    gaaclarke authored Aug 4, 2023
    Configuration menu
    Copy the full SHA
    5e51aa9 View commit details
    Browse the repository at this point in the history
  2. [Impeller] DlCanvas implementation wrapping Aiks canvas (#44248)

    Fixes flutter/flutter#130141
    
    The primary goal of this patch is to move dispatching of `dart:ui` `Canvas` commands to the UI thread.
    
    Before this patch, the architecture is something like:
    
    ## UI Thread
    - `dart:ui` talks to `DisplayListBuilder`, a `DlCanvas` implementation.
    - `DisplayListBuilder` does some clip/bounds tracking and creates a `DisplayList` object that is held by `dart:ui`'s `Picture` objects.
    - `DisplayList`s are added to `DisplayListLayer`s in `flow`. 
    
    ## Raster Thread
    - `flow` flattens the various operations into a single `DisplayList` via another `DisplayListBuilder`.
    - A `DlOpReceiver`implementation converts that `DisplayList` into an `Aiks` `Canvas`/`Picture`.
    
    After this patch, the architecture instead looks like:
    
    ## UI Thread
    
    - No change for Skia.
    - If Impeller, use a new `DlCanvasImplementation` that talks to `Aiks`'s `Canvas`.
    - If Impeller, `dart:ui` Picture's now hold an `Aiks` `Picture`, which get shared into `AiksLayer`s in `flow`.
    
    ## Raster thread
    
    - No change for Skia, but some light refactoring for places that assumed a `DisplayListBuilder` where they really just needed a `DlCanvas`.
    - The `Aiks` `Picture`s are combined using new API on `DlCanvas` and still backed by `Aiks`.
    
    These changes show significant improvement on raster times on Android and only very small regressions on UI times in local testing, see https://gist.github.com/dnfield/26528090194c9f5abdbac13cdcbf4f79 for old gallery transition perf numbers.
    
    Many of the other changes in this patch are related to the following:
    
    - Making `DlRTree` usable for Impeller.
      - It would be nice to have a version of DlRTree that speaks `impeller::Rect`.
    - Creating the requisite classes to support `EmbeddedViews` so that Desktop works.
    
    This patch does not remove the `impeller::DlDispatcher`, which now would only be used in tests.
    dnfield authored Aug 4, 2023
    Configuration menu
    Copy the full SHA
    6e90446 View commit details
    Browse the repository at this point in the history
  3. Roll Skia from 5eef2e2b94b4 to 85938bb68e75 (1 revision) (#44392)

    https://skia.googlesource.com/skia.git/+log/5eef2e2b94b4..85938bb68e75
    
    2023-08-04 [email protected] Fix MSAN uninitialized-value error in fuzzer harness.
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/skia-flutter-autoroll
    Please CC [email protected],[email protected],[email protected],[email protected] on the revert to ensure that a human
    is aware of the problem.
    
    To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
    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
    skia-flutter-autoroll authored Aug 4, 2023
    Configuration menu
    Copy the full SHA
    a7bea86 View commit details
    Browse the repository at this point in the history
Loading