Skip to content

[Impeller] refactor Snapshot to account for larger geometries #145328

@gaaclarke

Description

@gaaclarke

flutter/engine#51393 introduced a new clause that was required for rendering TiledTextureContents because Snapshot was unable to capture the proper semantics to render it correctly. Specifically in that case the geometry has been expanded. The way TileTextureContents works when rendering without the Snapshot optimization is that expanding the geometry should be counteracted by the texcoords, as per the effect transform math. There is no way to represent this with the Snapshot. This means we need to have some concept of the "source rect" or another matrix to capture the difference between vertices and texcoords.

I'm not sure if there are other places in the code where this would be beneficial but not having it forces us to have a render pass when we don't need one.

cc @jonahwilliams

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: new featureNothing broken; request for a new capabilitye: impellerImpeller rendering backend issues and features requeststeam-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