-
Notifications
You must be signed in to change notification settings - Fork 30.1k
Closed
Closed
Copy link
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)e: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requeststeam-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team
Description
Now that we've resolved clip storage via stencil record/replay, we're unblocked on some new features in Impeller. This issue aggregates several other issues into a single arc of work.
- (issue Not Filled) Add new contents that support clipping via depth buffer. This doesn't need to be wired up anywhere besides testing.
- (Issue Not Filled) Ensure backends support having both depth and stencil buffer attached, including when a combined depth-stencil is used.
- Add new Geometry methods that describe the appropriate rendering technique (StC or not). Add functionality to color source contents to conditionally use stencil techniques. This may require some design work.
- Prototype: [Impeller] Stencil then cover experiment engine#46442 . Note this one uses a technique that only works for nonZero, but the other fill modes can be implemented by following the instructions in the issue linked below.
- [Impeller] Why did Impeller opt for "triangulation then draw" over "stencil then cover"? #123671
- Evaluate performance and switch all clipping to use depth and enable StC.
- Revisit polyline generation in Compute and potentially simplify by eagerly converting cubics to quadradics. There are some tessellation benchmarks that would be appropriate for this.
Cleanups:
If we're able to use StC everywhere (which we should be able to do), then we can consider removing libtess2. This would also remove the benefit for vector_graphics to perform pre-tessellation.
Notes:
- We may determine that StC is slower than Triangulate and draw in some cases where the path is known to be static
- We should never use StC with convex shapes.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)e: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requeststeam-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team