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: 167a42e50fa2
Choose a base ref
...
head repository: flutter/engine
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ea4a00f1c123
Choose a head ref
  • 1 commit
  • 39 files changed
  • 1 contributor

Commits on Oct 8, 2024

  1. [Impeller] remove heap allocation of most geometry objects. (#55677)

    Almost all geometry objects can now be stack allocated while rendering, instead of heap allocated - due to the removal of the EntityPass compositor. Clip geometries must still be heap allocated as the geometry objects are not yet stored in the display list, and the clips must be recorded for backdrop filter clip replay.
    
    The canvas stores unique_ptrs to these geometries in a vector that it clears at the end of the frame. The Geometry factory methods were adjusted to return unique ptrs, and the Geometry class given a virtual dtor since we no longer rely on the special property of std::shared_ptr for memorizing the right dtor.
    
    The ColorSourceContents and ClipContents class now hold onto a const ptr to the geometry object.
    
    At some point in the future, we can rework the geometry object to be stored inline in the display list which will further simplify this code.
    
    Part of flutter/flutter#142054
    Jonah Williams authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    ea4a00f View commit details
    Browse the repository at this point in the history
Loading