Skip to content

[Impeller] Changes needed to get the OpenGL backend running on desktop Linux #143387

@jason-simmons

Description

@jason-simmons

After landing flutter/engine#50416 I was able to get an app to run with the embedder using the Impeller GLES backend on desktop Linux.
But it required some additional changes for desktop OpenGL.

  • Current versions of desktop OpenGL do not support the GL_ALPHA texture format in glTexImage2D.
    • The glyph atlas needs to instead use GL_RED.
  • BufferBindingsGLES::BindVertexAttributes must bind to a vertex array object before calling glVertexAttribPointer

Also, the Linux/OpenGL embedder is no longer rendering anything on screen after flutter/engine#50539.

flutter/engine#50539 was originally specific to the Vulkan back end. Does the OpenGL backend need to do something to match Vulkan's behavior?

@jonahwilliams @chinmaygarde

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work liste: impellerImpeller rendering backend issues and features requestse: openglengineflutter/engine related. See also e: labels.r: fixedIssue is closed as already fixed in a newer versionteam-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