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

Commits on Jun 27, 2023

  1. Configuration menu
    Copy the full SHA
    4ed2488 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3b00379 View commit details
    Browse the repository at this point in the history
  3. [Impeller] Fixes for GLES color mask setup (#43225)

    * Always set the color mask even if blending is disabled
    * Fix a typo in the check of the mask against each color bit
    jason-simmons authored Jun 27, 2023
    Configuration menu
    Copy the full SHA
    77a27b4 View commit details
    Browse the repository at this point in the history
  4. [Impeller] Give Impeller a dedicated raster priority level worker loo…

    …p. (#43166)
    
    We'd like to (or already are) using the concurrent message loop for high priority rendering tasks like PSO construction and render pass encoding. The default priority level for the engine managed concurrent message loop is 2, which is a significantly lower priority than the raster thread at -5. This is almost certainly causing priority inversion.
    
    We must move back to dedicated runners so we can adjust thread priorities.
    Jonah Williams authored Jun 27, 2023
    Configuration menu
    Copy the full SHA
    de489e3 View commit details
    Browse the repository at this point in the history
  5. [Impeller] Report pipeline creation feedback to logs and traces. (#43227

    )
    
    Piping the feedback to logs is disabled by default but can be enabled by patching the source for now. If reading from logs gets to be useful, we can move it behind a flag. In traces, enabled by default, pipeline cache hits and misses will be shown via counters. The time taken to create a pipeline variant is already covered by existing traces.
    
    This patch also sets up infrastructure in the impeller::CapabilitiesVK to quickly enable optional device extensions.
    
    Pipeline feedback will only be reported if the device supports `VK_EXT_pipeline_creation_feedback`.
    
    Example of logs:
    
    ```
    E/flutter ( 2011): >>>>>>
    E/flutter ( 2011): Pipeline 'GaussianBlurAlphaDecal Pipeline' Time: 48.60ms Cache Hit: 0 Base Accel: 0 Thread: 481449901232
    E/flutter ( 2011):  Stage 1: Time: 12.91ms Cache Hit: 0 Base Accel: 0 Thread: 481449901232
    E/flutter ( 2011):  Stage 2: Time: 15.10ms Cache Hit: 0 Base Accel: 0 Thread: 481449901232
    E/flutter ( 2011): <<<<<<
    ```
    chinmaygarde authored Jun 27, 2023
    Configuration menu
    Copy the full SHA
    f5ac545 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3f5fb28 View commit details
    Browse the repository at this point in the history
  7. [Impeller] Add Vulkan allocator traces. (#43215)

    I suspect this is where we're blocking on the texture uploads right now.
    Jonah Williams authored Jun 27, 2023
    Configuration menu
    Copy the full SHA
    3cb0e99 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3d38625 View commit details
    Browse the repository at this point in the history
  9. Roll ANGLE from 02292814a9d3 to 9faf7059f9ef (7 revisions) (#43272)

    https://chromium.googlesource.com/angle/angle.git/+log/02292814a9d3..9faf7059f9ef
    
    2023-06-27 [email protected] Optimize angle::Spinlock performance
    2023-06-27 [email protected] Android: Add/update MaliG710 expectations and tests
    2023-06-27 [email protected] Tests: Add paletted formats glGetTexImageANGLE tests
    2023-06-27 [email protected] Fix bug in ProgramPipelineObjectBenchmark
    2023-06-27 [email protected] Vulkan: support creating context with MoltenVK on macOS
    2023-06-27 [email protected] Vulkan: Free the garbage memory before realloc
    2023-06-27 [email protected] Vulkan: Free the garbage memory before realloc
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/angle-flutter-engine
    Please CC [email protected],[email protected] on the revert to ensure that a human
    is aware of the problem.
    
    To file a bug in ANGLE: http://anglebug.com/new
    To file a bug in Flutter Engine: https://github.com/flutter/flutter/issues/new
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
    skia-flutter-autoroll authored Jun 27, 2023
    Configuration menu
    Copy the full SHA
    6f9cc07 View commit details
    Browse the repository at this point in the history
  10. Initialize skwasm codecs before handing them back to the user. (#43274)

    Benchmarks were failing because the code was reading the `frameCount` and `repetitionCount` before reading any frames out of the codec. The codec gets implicitly initialized when you read a frame, but we should return it to the user initialized so that `frameCount` and `repetitionCount` work even if you haven't read a frame yet. This is consistent with how CanvasKit's codec works.
    
    Also, modified our unit tests so that they exercise the codecs in this way.
    eyebrowsoffire authored Jun 27, 2023
    Configuration menu
    Copy the full SHA
    0e020c2 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    45ab423 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    41413a4 View commit details
    Browse the repository at this point in the history
  13. [web:a11y] introduce primary role responsible for ARIA roles (#43159)

    This PR fixes flutter/flutter#128468 by changing the relationship between semantics nodes and their roles from this:
    
    ```
    SemanticsNode one-to-many RoleManager
    ```
    
    To this:
    
    ```
    SemanticsNode one-to-one PrimaryRoleManager one-to-many RoleManager
    ```
    
    Previously a node would simply have multiple role managers, some of which would be responsible for setting the `role` attribute. It wasn't clear which role manager should be doing this. It also wasn't clear which role managers were safe to reuse across multiple types of nodes. This led to the unfortunate situation in flutter/flutter#128468 where `LabelAndValue` ended up overriding the role assigned by `Checkable`.
    
    With this PR, a `SemanticsNode` has exactly one `PrimaryRoleManager`. A primary role manager is responsible for setting the `role` attribute, and importantly, it's the _only_ thing responsible for it. It's _not safe_ to share primary role managers across different kinds of nodes. They are meant to provide very specific functionality for the widget's main role. OTOH, a non-primary `RoleManager` provides a piece of functionality that's safe to share.
    
    A `Checkable` is a `PrimaryRoleManager` and is the only thing that decides on the `role` attribute. `LabelAndValue` is now a `RoleManager` that's not responsible for setting the role. It's only responsible for `aria-label`. No more confusion.
    
    This also drastically simplifies the logic for role assignment. There's no more [logical soup](https://github.com/flutter/engine/blob/eca910dd5e3f1d8e18b10f3a46ce8d1454a232c8/lib/web_ui/lib/src/engine/semantics/semantics.dart#L1340) attempting to find a good subset of roles to assign to a node. [Finding](https://github.com/yjbanov/engine/blob/93df91df9575f8fc212aac115ccccc23f8fba26f/lib/web_ui/lib/src/engine/semantics/semantics.dart#L1477) and [instantiating](https://github.com/yjbanov/engine/blob/93df91df9575f8fc212aac115ccccc23f8fba26f/lib/web_ui/lib/src/engine/semantics/semantics.dart#L1498) primary roles are very linear steps, as is [assigning a set of secondary roles](https://github.com/yjbanov/engine/blob/93df91df9575f8fc212aac115ccccc23f8fba26f/lib/web_ui/lib/src/engine/semantics/image.dart#L16).
    yjbanov authored Jun 27, 2023
    Configuration menu
    Copy the full SHA
    3d30145 View commit details
    Browse the repository at this point in the history
  14. Update skia includes to be more specific (#43284)

    Update flutter engine includes to be more specific about use of Skia includes.
    
    These changes are required to unblock the Skia roller that has new streamlined include files.
    flar authored Jun 27, 2023
    Configuration menu
    Copy the full SHA
    7c7c45d View commit details
    Browse the repository at this point in the history
Loading