Skip to content
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: c602abdbae16
Choose a base ref
...
head repository: flutter/engine
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 9df2d3a0778e
Choose a head ref
  • 10 commits
  • 32 files changed
  • 7 contributors

Commits on Mar 27, 2024

  1. [Impeller] use optimal depth attachment, remove useless barrier. (#51723

    )
    
    We have been transitioning the depth/stencil atttachment to general, even though it can just be in attachment optimal (we never use it as an input attachment).
    jonahwilliams authored Mar 27, 2024
    Configuration menu
    Copy the full SHA
    f31faf3 View commit details
    Browse the repository at this point in the history
  2. [Impeller] render empty filled paths without crashing. (#51713)

    Fixes flutter/flutter#145823
    
    If we try to render a solid filled empty size path, the subpath division code creates an obscene number of vertices that hits overflow errors. Just No-op instead.
    jonahwilliams authored Mar 27, 2024
    Configuration menu
    Copy the full SHA
    5d13a29 View commit details
    Browse the repository at this point in the history
  3. Platform channel for predictive back in route transitions on android (#…

    …49093)
    
    Support for Android's predictive back feature on internal Flutter routes. Reports predictive back gestures to the framework (where supported by the system).
    maRci002 authored Mar 27, 2024
    Configuration menu
    Copy the full SHA
    00b0905 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    467b801 View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2024

  1. [Impeller] Reland: Use the scissor to limit all draws by clip coverag…

    …e. (#51731)
    
    Reland #51698.
    
    This reverts commit 73c145c.
    
    Attempts to improve flutter/flutter#145274.
    
    Our new clipping technique paints walls on the depth buffer "in front" of the Entities that will be affected by said clips. So when an intersect clip is drawn (the common case), the clip will cover the whole framebuffer.
    
    Depth is divvied up such that deeper clips get drawn _behind_ shallower clips, and so many clips actually don't end up drawing depth across the whole framebuffer. However, if the app does a lot of transitioning from a huge clips to a small clips, a lot of unnecessary depth churn occurs (very common in Flutter -- this happens with both the app bar and floating action button in the counter template, for example).
    
    Since progressively deeper layers in the clip coverage stack always subset their parent layers, we can reduce waste for small intersect clips by setting the scissor to the clip coverage rect instead of drawing the clip to the whole screen.
    
    Note that this change _does not_ help much with huge/fullscreen clips.
    
    Also, we could potentially improve this further by computing much stricter bounds. Rather than just using clip coverage for the scissor, we could intersect it with the union of all draws affected by the clip at the cost of a bit more CPU churn per draw. I don't think that's enough juice for the squeeze though.
    
    Before (`Play/AiksTest.CanRenderNestedClips/Metal`):
    
    https://github.com/flutter/engine/assets/919017/7858400f-793a-4f7b-a0e4-fa3581198beb
    
    After (`Play/AiksTest.CanRenderNestedClips/Metal`):
    
    https://github.com/flutter/engine/assets/919017/b2f7c96d-a820-454d-91df-f5fae4976e91
    bdero authored Mar 28, 2024
    Configuration menu
    Copy the full SHA
    918bf19 View commit details
    Browse the repository at this point in the history
  2. Roll Skia from b6160ffc0b96 to 66241be7c81c (16 revisions) (#51733)

    https://skia.googlesource.com/skia.git/+log/b6160ffc0b96..66241be7c81c
    
    2024-03-27 hitawala@chromium.org Add FCC, YDZDX, GBR, SMPTE240 color space support
    2024-03-27 michaelludwig@google.com [graphite] Track if Device is immutable
    2024-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4f5c3553ddc3 to 29cd699ff179 (5 revisions)
    2024-03-27 jvanverth@google.com Reland "[graphite] Update yuv_to_rgb_subset_effect to support Graphite."
    2024-03-27 michaelludwig@google.com [graphite] Don't pass Recorder into YUVAProxies
    2024-03-27 egdaniel@google.com Move some compressed data utils to shared gpu file.
    2024-03-27 egdaniel@google.com Fill in VulkanCaps for compressed formats.
    2024-03-27 robertphillips@google.com [graphite] Handle SkClipOp::kDifference-clipShaders in Precompilation
    2024-03-27 sunnyps@chromium.org graphite: Explicitly Destroy() Dawn textures in deleteBackendTexture
    2024-03-27 kjlubick@google.com Add missing SkUnicode files to public.bzl
    2024-03-27 egdaniel@google.com Remove unhelpful assert in backend caps format tables.
    2024-03-27 robertphillips@google.com [graphite] Add clipShaders to Precompilation system
    2024-03-27 jvanverth@google.com Revert "[graphite] Update yuv_to_rgb_subset_effect to support Graphite."
    2024-03-27 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll Dawn from 3de0f00ef217 to 81a2ed3a2849 (5 revisions)
    2024-03-27 nicolettep@google.com [graphite] Add input attachment usage flag to renderable Vulkan texture when importing from AHardwareBuffer
    2024-03-27 jvanverth@google.com [graphite] Update yuv_to_rgb_subset_effect to support Graphite.
    
    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 brianosman@google.com,jacksongardner@google.com,jamesgk@google.com,rmistry@google.com 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://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
    skia-flutter-autoroll authored Mar 28, 2024
    Configuration menu
    Copy the full SHA
    f7dcae0 View commit details
    Browse the repository at this point in the history
  3. Roll Fuchsia Linux SDK from Lk8KBU-c97ROj-YHm... to uzI3wnbEGlZ_dtO0Z…

    …... (#51737)
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
    Please CC jacksongardner@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
    skia-flutter-autoroll authored Mar 28, 2024
    Configuration menu
    Copy the full SHA
    922c7b1 View commit details
    Browse the repository at this point in the history
  4. Remove Impeller/OpenGLES from CI branch for Android e2e tests. (#51734)

    We don't intend to make much progress on the Impeller OpenGLES backend in 2024. I won't remove the capability to run these tests locally (the plumbing is already done and doesn't cost anything), but we don't need to have these just sit/flake on CI consuming resources.
    
    Partial work towards flutter/flutter#144064.
    matanlurey authored Mar 28, 2024
    Configuration menu
    Copy the full SHA
    b3516c4 View commit details
    Browse the repository at this point in the history
  5. [Impeller] correct multisample resolve/store configuration for Vulkan. (

    #51740)
    
    Added tests for #50374
    
    This makes RenderDoc replays work a whole lot better since all of the offscreen textures aren't cleared with DONT CARE.
    
    Fixes flutter/flutter#142947
    jonahwilliams authored Mar 28, 2024
    Configuration menu
    Copy the full SHA
    cd4b8cc View commit details
    Browse the repository at this point in the history
  6. Reverts "[Impeller] adds a plus advanced blend for f16 pixel formats (

    #51589)" (#51741)
    
    Reverts: #51589
    Initiated by: jonahwilliams
    Reason for reverting: draw vertices devicelab test is crashing due to SIGABRT in blend contents
    
    ![image](https://github.com/flutter/engine/assets/8975114/8bfaec63-29e9-43c2-8954-181d0ad1c413)
    
    Original PR Author: gaaclarke
    
    Reviewed By: {jonahwilliams}
    
    This change reverts the following previous change:
    fixes flutter/flutter#142549
    
    [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
    auto-submit[bot] authored Mar 28, 2024
    Configuration menu
    Copy the full SHA
    9df2d3a View commit details
    Browse the repository at this point in the history
Loading