Skip to content

[Impeller] RenderPass::SetPipeline should accept a pipeline future and not the actual pipleine #156441

@jonahwilliams

Description

@jonahwilliams

Context is flutter/engine#55694

So I think this is a problem in the HAL design. We expect to be able to have a pipeline synchronously for encoding but

  1. we can only get the pipeline on a particular thread for GLES
  2. we don't actually need the pipeline until we render - which always happens on the react thread.

I think it would be something to punt to a new PR, but I would consider change the HAL design such that SetPipeline accepted the pipleine future. The Vulkan/Metal implementation would call WaitAndGet immediately while the GLES implementation would defer that until encoding.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projectc: 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