Skip to content

[Impeller] Introduce the notion of legacy and modern backends with their own feature sets. #115523

@chinmaygarde

Description

@chinmaygarde

All Impeller shaders use the lowest-common-denominator features available across all supported backends (Metal, Vulkan, and OpenGL ES 2.0). This has worked fine and we will always need fallbacks for legacy backends. But, in some cases, it is desirable to add fast-paths that use modern features where available. Doing this using platform (iOS, Android, etc..) or backend (OpenGL ES 2.0, Metal, etc..) is brittle. Instead, introduce the notion of a "legacy" and "modern" backend and define their feature sets (like SSBO availability). Then, developers can have specific paths for each backend as necessary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    e: impellerImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions