Skip to content

Ensure engine Android tests run on major version breaks. #146146

@chinmaygarde

Description

@chinmaygarde

This is prompted by the issue caused due to flutter/engine#51839.

Among other things, Flutter enables different subsystems and features based on the version of Android the application is running on.

For complete test coverage, the naive approach is to obviously test on all Android versions and ideally on a device. This isn’t always feasible. This issue attempts to list the major version breaks. For a reasonable amount of confidence in the test setup, tests must run on each of the following versions.

As an aside, some of the features are optional. I’m not averse to backing them out if the test burden is too high. But that is a separate conversation.

Version Features
24 Choreographer on 64 bit platforms
26 AHB Acquisition
29 AHB Creation, Surface Controls/Transactions, Setting AHB contents in Surface Controls (via Transactions), Choreographer on 32 bit platforms too.
31 AHB IDs for LRU Image Caches

Missing testing on one of the version breaks risks causing issues like flutter/engine#51839 which was due to a missing test run on API version >= 29 but less than 31.

In fact as I write this, I am unsure if the right version check is used when the AHB is imported as an external texture. If the check for AHB creation is instead used, versions 26-29 will unnecessarily lose AHB external texture support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listteam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions