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

Commits on Feb 1, 2024

  1. Configuration menu
    Copy the full SHA
    5f380ff View commit details
    Browse the repository at this point in the history
  2. Multiview: Add view ID to _render and remove render rule skipping (#5…

    …0220)
    
    This PR adds a view ID parameter to the Dart FFI `_render` function, and
    also remove the logic that skips illegal renders that violates the
    render rule.
    
    I decided to implement the change to add the view ID as a separate PR
    because it's blocking us from performing benchmark testing internally,
    which is required to verify before merging the full multiview pipeline.
    
    We're also abolishing the render rule for now to allow presenting the
    warmup frame, which affects the startup performance. It is planned to
    implement the render rule once we can coordinate the warmup frame into
    the pipeline.
    
    ### More on removing the render rule enforcement
    
    The project needs to be divided into two phases:
    * Phase 1: Dart:ui doesn't kip out-of-vsync frames. And the pipeline
    presents these frames in a hacky way.
    * Phase 2: Dart:ui skip out-of-vsync frames, but submit warmup frames
    using a dedicated method. The pipeline contains no hacks.
    
    The current logic only enforces the render rule in debug mode. It's not
    desired to have the debug mode and the release mode behaving
    differently. Moreover, I'd like to make only the necessary changes for
    phase 1, so that there is as little "to be used in the future" code
    between the two phases as possible.
    
    ## Pre-launch Checklist
    
    - [ ] I read the [Contributor Guide] and followed the process outlined
    there for submitting PRs.
    - [ ] I read the [Tree Hygiene] wiki page, which explains my
    responsibilities.
    - [ ] I read and followed the [Flutter Style Guide] and the [C++,
    Objective-C, Java style guides].
    - [ ] I listed at least one issue that this PR fixes in the description
    above.
    - [ ] 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.
    - [ ] I updated/added relevant documentation (doc comments with `///`).
    - [ ] I signed the [CLA].
    - [ ] 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
    dkwingsmt authored Feb 1, 2024
    Configuration menu
    Copy the full SHA
    80e5792 View commit details
    Browse the repository at this point in the history
  3. [Impeller] make GPU tracing off by default. (#50215)

    Fixes flutter/flutter#141788
    Fixes flutter/flutter#141798
    
    Disable GPU tracing by default.
    Jonah Williams authored Feb 1, 2024
    Configuration menu
    Copy the full SHA
    f2b9921 View commit details
    Browse the repository at this point in the history
  4. Ignore CRLF endings when determining the names of header guards. (#50227

    )
    
    Reported by @loic-sharma.
    
    The tl;dr is it should be OK to have `\r\n` (CRLF) endings if the header
    guard is otherwise correct.
    
    This minor refactor (and test) discounts the existence of `\r` when
    determining the name of a header guard, i.e.:
    ```h
    #ifndef FLUTTER_MATAN_WHY_H_
    ```
    
    ... is now (correctly) considered a value of `FLUTTER_MATAN_WHY_H_` not
    `FLUTTER_MATAN_WHY_H_\r`.
    matanlurey authored Feb 1, 2024
    Configuration menu
    Copy the full SHA
    e222597 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b08de44 View commit details
    Browse the repository at this point in the history
  6. Remove string field from FlKeyEvent (#50189)

    This field is deprecated in GTK3 [1] and not used in Flutter. It does
    not exist in GTK4.
    
    [1] https://docs.gtk.org/gdk3/struct.EventKey.html
    robert-ancell authored Feb 1, 2024
    Configuration menu
    Copy the full SHA
    38a81f5 View commit details
    Browse the repository at this point in the history
  7. [Impeller] size vk swapchain to window size. (#50205)

    The size the engine recieves from the `AndroidSurfaceVulkanImpeller::OnScreenSurfaceResize` appears to be correct in the case of window rotation. Use this instead of physical surface properties to set the swapchain image size.
    
    Querying the physical surface properties seems to have some additional non-deterministic delay. This means that querying the properties during a window rotation will frequently return old values.
    
    Fixes flutter/flutter#138780
    Fixes flutter/flutter#132708
    Jonah Williams authored Feb 1, 2024
    Configuration menu
    Copy the full SHA
    89077a0 View commit details
    Browse the repository at this point in the history
  8. Reverts "Remove migration flag and unused header files" (#50229)

    Reverts #50216
    Initiated by: zanderso
    This change reverts the following previous change:
    Original Description:
    The `applyRoundingHack` flag is no longer used by the framework. This also removes the [lib/ui/text/line_metrics.h](https://github.com/flutter/engine/pull/50216/files#diff-9175619f2b114dffef67eba38511b34afe6abefd4f697f4758647133895b34f5) file which doesn't seem to be referenced anywhere.
    
    [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
    auto-submit[bot] authored Feb 1, 2024
    Configuration menu
    Copy the full SHA
    bbdbc3a View commit details
    Browse the repository at this point in the history
  9. [Impeller] Clear the GPUTracerVK in_frame flag when ending a frame ev…

    …en if the tracer is disabled (#50228)
    
    Without this an assertion in GPUTracerVK::MarkFrameStart will fail on the next frame.
    jason-simmons authored Feb 1, 2024
    Configuration menu
    Copy the full SHA
    68943af View commit details
    Browse the repository at this point in the history
Loading