Skip to content

Conversation

@flutteractionsbot
Copy link

@flutteractionsbot flutteractionsbot commented Nov 21, 2025

Issue Link:

What is the link to the issue this cherry-pick is addressing?

#178547

Changelog Description:

This PR fixes rendering errors in the Linux desktop embedder when using Skia. The embedder may overwrite OpenGL state that Skia assumes is unmodified.

Impact Description:

Bad rendering in Linux desktop apps.

Workaround:

Use Impeller instead of Skia on Linux.

Risk:

What is the risk level of this cherry-pick?

  • Low
  • Medium
  • High

Test Coverage:

Are you confident that your fix is well-tested by automated tests?

  • Yes
  • No

Validation Steps:

Run the example app in #178547 on Linux

…lutter#178697)

The OpenGL context used there may be shared with Skia, and Skia assumes
that other code has not changed its state.

See flutter#178547
@flutteractionsbot flutteractionsbot added the cp: review Cherry-picks in the review queue label Nov 21, 2025
@flutteractionsbot
Copy link
Author

@jason-simmons please fill out the PR description above, afterwards the release team will review this request.

@flutter-dashboard
Copy link

This pull request was opened from and to a release candidate branch. This should only be done as part of the official Flutter release process. If you are attempting to make a regular contribution to the Flutter project, please close this PR and follow the instructions at Tree Hygiene for detailed instructions on contributing to Flutter.

Reviewers: Use caution before merging pull requests to release branches. Ensure the proper procedure has been followed.

@github-actions github-actions bot added engine flutter/engine related. See also e: labels. platform-linux Building on or for Linux specifically a: desktop Running on desktop labels Nov 21, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request enhances fl_compositor_opengl_present_layers to correctly save and restore additional OpenGL states that it modifies. The changes now cover GL_READ_FRAMEBUFFER_BINDING, GL_CURRENT_PROGRAM, GL_SCISSOR_TEST, GL_BLEND, and various blend function parameters, preventing state leakage that could interfere with other rendering operations. To validate these changes, new tests have been added to confirm the restoration of GL_BLEND and GL_SCISSOR_TEST states, with corresponding updates to the mock_epoxy.cc mocking framework.

@CodeDoctorDE
Copy link

Hello,
This is important for me since my note-taking app currently has issues in the latest flutter version. I also notice this in the saber app when exporting.
Would be nice if this could be added as hotfix

Copy link
Contributor

@eyebrowsoffire eyebrowsoffire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@eyebrowsoffire eyebrowsoffire added the autosubmit Merge PR when tree becomes green via auto submit App label Dec 2, 2025
@auto-submit auto-submit bot merged commit fc0b86a into flutter:flutter-3.38-candidate.0 Dec 2, 2025
163 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Dec 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Dec 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: desktop Running on desktop autosubmit Merge PR when tree becomes green via auto submit App cp: review Cherry-picks in the review queue engine flutter/engine related. See also e: labels. platform-linux Building on or for Linux specifically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants