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: 49bc157
Choose a base ref
...
head repository: flutter/engine
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: effcf97
Choose a head ref
  • 10 commits
  • 43 files changed
  • 8 contributors

Commits on Mar 5, 2024

  1. [Impeller] Implement YUV texture import and sampling for video player…

    … frames. (#50730)
    
    This patch rounds out support for importing Android Hardware Buffers as Vulkan
    images and sampling from them.
    
    Not all Android Hardware Buffers are in formats that Vulkan (let alone Impeller)
    understands. Some YUV textures have formats with no equivalent `vk::Format` enum
    and need extra information on how to sample from them.
    
    This patch adds support for correctly importing and sampling from such formats.
    
    There are severe restrictions on how sampling from such external formats works.
    For one, it isn’t possible to assign a combined image sampler in the render
    pass. The pipeline itself needs to be rebuilt to reference a specially created
    immutable sampler. This immutable sampler is a combination of the usual
    information present in an Impeller SamplerDescriptor as well as a custom
    “conversion” object obtained while importing the Android Hardware Buffer.
    
    There is no way to predict what conversion object will be necessary ahead of
    time as this will depend on the source of the Android Hardware Buffers and is
    likely different for different video feeds, camera sources, and other Android
    Hardware Buffer texture sources.
    
    To handle this uncertainty, a new pipeline variant with a JIT determined
    immutable sampler will be hashed and cached before being used in a render pass.
    The number of pipeline variants created just-in-time will depend on the number
    of sampler variants used in the render pass to sample from wrapped Image. For
    instance, specifying a sampler with a different address mode will likely result
    in a new pipeline variant being created.
    
    In most cases however, there will just be one or two additional pipeline
    variants per application. Impellers sampler diversity is very low with most
    samplers being the usual NN samplers. It may be possible to preload even this
    pipeline by trying known conversions. As said previously, there can only be a
    handful of these conversions.
    
    More restrictions on sampling from such images includes being limited to
    `VK_FILTER_LINEAR` without additional format and extension wrangling and
    performance penalties.
    
    Fixes flutter/flutter#142082.
    chinmaygarde authored Mar 5, 2024
    Configuration menu
    Copy the full SHA
    6594bca View commit details
    Browse the repository at this point in the history
  2. Skip configuration dependency if unit tests are disabled (#51179)

    ## Description
    
    This makes the GTK dependency only active if unit tests are enabled, so that it won't create an undesired dependency on embedded platforms.
    
    ## Related Issues
     - Fixes flutter/flutter#144421
    gspencergoog authored Mar 5, 2024
    Configuration menu
    Copy the full SHA
    3faaf89 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fd0ac09 View commit details
    Browse the repository at this point in the history
  4. [Impeller] Fix convex triangulation winding bug for multi-contour pat…

    …hs. (#51198)
    
    An extra triangle needs to be inserted after bridging the triangle strip to a new contour, otherwise the triangle winding ends up getting inverted for each consecutive contour.
    
    Before:
    
    <img width="685" alt="image" src="https://github.com/flutter/engine/assets/919017/cef666c1-c188-4c83-ae93-fca117b0bc7f">
    
    After:
    
    <img width="685" alt="image" src="https://github.com/flutter/engine/assets/919017/0cf5e994-5366-4e73-8f9c-4fec1128b303">
    bdero authored Mar 5, 2024
    Configuration menu
    Copy the full SHA
    32ecd77 View commit details
    Browse the repository at this point in the history
  5. [Impeller] Enable depth buffer clipping & Stencil-then-Cover path ren…

    …dering. (#51209)
    
    Turn the page, wash your hands.
    
    Addresses the following issues:
    * flutter/flutter#143077
    * flutter/flutter#137714
    * flutter/flutter#138460
    * flutter/flutter#123671
    * flutter/flutter#141961
    * flutter/flutter#134432
    
    Previous attempt:
    - #50856
        - reverted with #51191
        - fixed with #51198
    bdero authored Mar 5, 2024
    Configuration menu
    Copy the full SHA
    97491e3 View commit details
    Browse the repository at this point in the history
  6. Fix git hooks on Windows (#51203)

    Windows does not pre-install python3. Previously Windows users would just use Python from depot tools, but this was broken by #51156.
    loic-sharma authored Mar 5, 2024
    Configuration menu
    Copy the full SHA
    dacec1c View commit details
    Browse the repository at this point in the history
  7. Roll Skia from 17677914dabf to 37947aec8c5c (5 revisions) (#51211)

    https://skia.googlesource.com/skia.git/+log/17677914dabf..37947aec8c5c
    
    2024-03-05 [email protected] Iterate emoji color font tests over more color font formats
    2024-03-05 [email protected] Add Caps::getDepthAttachmentDimensions()
    2024-03-05 [email protected] Remove SK_LEGACY_SNAP_DRAW_IMAGE_TRANSLATION
    2024-03-05 [email protected] [Fontations-backend] Add an empty FontMgr for Fontations
    2024-03-05 [email protected] [graphite] Atlas management fixes for SmallPathAtlas.
    
    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://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 5, 2024
    Configuration menu
    Copy the full SHA
    0ec5649 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    fb47cb7 View commit details
    Browse the repository at this point in the history
  9. [Impeller] implement blur style solid (#50892)

    fixes flutter/flutter#134178
    
    ## Pre-launch Checklist
    
    - [x] I read the [Contributor Guide] and followed the process outlined
    there for submitting PRs.
    - [x] I read the [Tree Hygiene] wiki page, which explains my
    responsibilities.
    - [x] I read and followed the [Flutter Style Guide] and the [C++,
    Objective-C, Java style guides].
    - [x] I listed at least one issue that this PR fixes in the description
    above.
    - [x] I added new tests to check the change I am making or feature I am
    adding, or the PR is [test-exempt]. See [testing the engine] for
    instructions on writing and running engine tests.
    - [x] I updated/added relevant documentation (doc comments with `///`).
    - [x] I signed the [CLA].
    - [x] All existing and new tests are passing.
    
    If you need help, consider asking for advice on the #hackers-new channel
    on [Discord].
    
    <!-- Links -->
    [Contributor Guide]:
    https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
    [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
    [test-exempt]:
    https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
    [Flutter Style Guide]:
    https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
    [C++, Objective-C, Java style guides]:
    https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
    [testing the engine]:
    https://github.com/flutter/flutter/wiki/Testing-the-engine
    [CLA]: https://cla.developers.google.com/
    [flutter/tests]: https://github.com/flutter/tests
    [breaking change policy]:
    https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
    [Discord]: https://github.com/flutter/flutter/wiki/Chat
    gaaclarke authored Mar 5, 2024
    Configuration menu
    Copy the full SHA
    9e813c7 View commit details
    Browse the repository at this point in the history
  10. Reverts "[Impeller] Enable depth buffer clipping & Stencil-then-Cover…

    … path rendering. (#51209)" (#51217)
    
    Reverts #51209
    Initiated by: bdero
    Reason for reverting: Golden breakages on [engine roll](flutter/flutter#144647) https://flutter-gold.skia.org/search?issue=144647&crs=github&patchsets=5&corpus=flutter
    Original PR Author: bdero
    
    Reviewed By: {jonahwilliams, chinmaygarde}
    
    This change reverts the following previous change:
    Original Description:
    Turn the page, wash your hands.
    
    Addresses the following issues:
    * flutter/flutter#143077
    * flutter/flutter#137714
    * flutter/flutter#138460
    * flutter/flutter#123671
    * flutter/flutter#141961
    * flutter/flutter#134432
    
    Previous attempt:
    - #50856
        - reverted with #51191
        - fixed with #51198
    auto-submit[bot] authored Mar 5, 2024
    Configuration menu
    Copy the full SHA
    effcf97 View commit details
    Browse the repository at this point in the history
Loading