Skip to content

[Impeller] Promote a debug check to a runtime check #170195

Open
@flar

Description

@flar

We had a condition in Impeller where we under-reserved the number of vertices needed to render a shape causing strange path segments to run off the screen. The condition would have been caught by a debug checks in the following locations:

FML_DCHECK(writer.GetPointCount() <= point_count);

FML_DCHECK(writer.GetPointCount() <= point_count);

Unfortunately, these checks are not enforced at run-time in any of the run modes that developers use to test their apps, leading to odd rendering artifacts being the only way to know that our estimates had failed.

The problem encountered by a developer was fixed in #170194 but the checks are still not active in runtime engine binaries so the fix will be verified be examining the application output.

These checks should really be made runtime checks (FML_CHECK) since they ensure that we don't overwrite internal buffers and so that any failure is more immediately brought to proper attention.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projecte: impellerImpeller rendering backend issues and features requestsengineflutter/engine repository. See also e: labels.team-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