Skip to content

[Impeller] Make IPComputeConical not crash older GLES drivers. #163580

@jonahwilliams

Description

@jonahwilliams

The IPComputeConicalT is extremely complicated, and is crashing the shader compiler of older Adreno GPU. We need to simplify this function, and get it working. Some ideas:

  • Lift out special cases for radial + strip. We should be able to detect this in the contents and use the radial gradient shader, or a different kind of shader if need be.
  • Replace branching with mix. Yes, in theory we don't need to do this any more. In practice, some older shader compilers choke on too many nested if statements.
  • Compute more values in the contents. For example, I believe is_focal_on_circle is computed entirely from uniform values, et cetera. Maybe is_well_behaved ?
  • ... And more

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work liste: 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