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

Commits on Oct 31, 2024

  1. [Impeller] expose reference to tessellator instead of shared_ptr. (#5…

    …6244)
    
    All geometries were incrementing the shared_ptr usage count which shows up in profiles. Instead expose a Tessellator reference like we do with HostBuffer.
    Jonah Williams authored Oct 31, 2024
    Configuration menu
    Copy the full SHA
    cf294fa View commit details
    Browse the repository at this point in the history
  2. Skwasm single threaded (#56206)

    This PR creates a single-threaded version of the skwasm renderer, appropriate for non-crossOriginIsolated browsing contexts.
    * The single threaded renderer is essentially the same as the multi-threaded renderer, except instead of spawning a web worker and posting messages to it, it simply schedules microtasks on the main thread in their place.
    * The new renderer is vended as `skwasm_st.js` and `skwasm_st.wasm` in the same location as multithreaded skwasm. In order to properly build and function, we needed some fixes I put into emscripten that landed in version 3.1.70. That version also changed some behavior that required a few fixes to the CanvasKit build files.
    * The skwasm loader in flutter.js has been modified to use the skwasm_st variants when encountering a non-crossOriginIsolated context but a browser and configuration that otherwise would allow the use of skwasm. I also added a new `forceSingleThreadedSkwasm` option to the flutter configuration so that we can override this behavior, especially so that we can accurately benchmark the single threaded renderer in a crossOriginIsolated environment.
    * I also consolidated a bunch of our shards that run tests to just have one per browser/platform combination, so four total. This will address flutter/flutter#124682
    eyebrowsoffire authored Oct 31, 2024
    Configuration menu
    Copy the full SHA
    621e68c View commit details
    Browse the repository at this point in the history
  3. [Impeller] use primitive restart for faster tessellation: write direc…

    …tly into host buffer. (#56173)
    
    Using primitive restart we can avoid tracking even odd or inserting degenerate triangles. Instead a special index value `0xFFFF` is used to signal a break. This can be combined with triangle fan on vulkan for a dramatically simpler tessellation.
    
    Additionally, switches to a two pass system where we first estimate the storage required by the path so tha the host buffer can be written to directly.
    Jonah Williams authored Oct 31, 2024
    Configuration menu
    Copy the full SHA
    48a63fe View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d19098f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c61c6d8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d7baf3b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3bf6fcc View commit details
    Browse the repository at this point in the history
  8. Reverts "Skwasm single threaded (#56206)" (#56264)

    Reverts: #56206
    Initiated by: jonahwilliams
    Reason for reverting: failing to roll into framework: flutter/flutter#157919 
    Original PR Author: eyebrowsoffire
    
    Reviewed By: {harryterkelsen}
    
    This change reverts the following previous change:
    This PR creates a single-threaded version of the skwasm renderer, appropriate for non-crossOriginIsolated browsing contexts.
    * The single threaded renderer is essentially the same as the multi-threaded renderer, except instead of spawning a web worker and posting messages to it, it simply schedules microtasks on the main thread in their place.
    * The new renderer is vended as `skwasm_st.js` and `skwasm_st.wasm` in the same location as multithreaded skwasm. In order to properly build and function, we needed some fixes I put into emscripten that landed in version 3.1.70. That version also changed some behavior that required a few fixes to the CanvasKit build files.
    * The skwasm loader in flutter.js has been modified to use the skwasm_st variants when encountering a non-crossOriginIsolated context but a browser and configuration that otherwise would allow the use of skwasm. I also added a new `forceSingleThreadedSkwasm` option to the flutter configuration so that we can override this behavior, especially so that we can accurately benchmark the single threaded renderer in a crossOriginIsolated environment.
    * I also consolidated a bunch of our shards that run tests to just have one per browser/platform combination, so four total. This will address flutter/flutter#124682
    auto-submit[bot] authored Oct 31, 2024
    Configuration menu
    Copy the full SHA
    f2154ef View commit details
    Browse the repository at this point in the history
Loading