Skip to content

Add Impeller support to testing/scenario_app #143171

@matanlurey

Description

@matanlurey

As of flutter/engine#50414, scenario_app on Android is now running on CI and is enforced.

As a next step, I'd like to run the same set of tests with --enable-impeller. A few caveats/points:

  1. Based on my chat with @dnfield, we'll do Vulkan and OpenGLES.
  2. iOS is already running on Impeller, I don't plan to make changes to have it run the Skia backend as well.
  3. We'll have to deal with cases where there is an expected failure/crash, as not everything is implemented in every backend yet.

A few complications to solve (I just don't know how to do it yet):

  • How do I start scenario_app with --enable-impeller?

    In "real" land, I'd pass the argument to FlutterMain.ensureInitializationComplete.

  • How do I "shard" the Skia gold tests so that different backends use different keys?

    I'm guessing we have prior-art elsewhere in Impeller, I just don't know about it yet.

  • How do I allow certain tests to fail (I want to avoid a "status file"-type messes)

    Maybe this is built-into JUnit and I just need to look a little deeper?

There might be other things I need to tackle, but that's what I know so far.

/cc @gaaclarke @dnfield @jonahwilliams @johnmccutchan for FYI.

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listc: tech-debtTechnical debt, code quality, testing, etc.e: impellerImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.fyi-androidFor the attention of Android platform teamfyi-iosFor the attention of iOS platform teamplatform-androidAndroid applications specificallyteam-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