[Impeller] immediately encode geometry data to host buffer when dispatching. #147121
Labels
e: impeller
Impeller rendering backend issues and features requests
team-engine
Owned by Engine team
Currently impeller will create abstract geometry entries, one per draw call. These must be heap allocated and contributes to the abundance of shared ptrs per draw.
Previously we delayed encoding of the geometry data because we needed to know the final color source to determine if UVs should be computed. With flutter/engine#52106 landed, we don't actually need to compute UVs on the CPU ever. Thus, we can assume we're just uploading vertex data and can do so eagerly.
The geometry interface becomes a struct that holds a vertex buffer and some other auxiliary information. The static Geometry::MakeRect/MakeFilledPath et cetera just perform the computation that was previously performed in Geometry::GetPositionData.
The text was updated successfully, but these errors were encountered: