Skip to content

[CP-stable]Restore OpenGL state modified by fl_compositor_opengl_present_layers - #178937

Merged
auto-submit[bot] merged 1 commit into
flutter:flutter-3.38-candidate.0from
flutteractionsbot:cp-stable-88f960983fb5279deaa9bafc3586729d03b5bc0d
Dec 2, 2025
Merged

auto-submit[bot] merged 1 commit into
flutter:flutter-3.38-candidate.0from
flutteractionsbot:cp-stable-88f960983fb5279deaa9bafc3586729d03b5bc0d

Conversation

@flutteractionsbot

@flutteractionsbot flutteractionsbot commented Nov 21, 2025 •

Copy link
Copy Markdown
Contributor

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
Copy Markdown
Contributor Author

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

@flutter-dashboard

Copy link
Copy Markdown

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

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

Copy link
Copy Markdown
Contributor

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
Copy Markdown
Contributor

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

@eyebrowsoffire eyebrowsoffire left a comment

Copy link
Copy Markdown
Contributor

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
This was referenced Jan 23, 2026
@flutteractionsbot
flutteractionsbot deleted the cp-stable-88f960983fb5279deaa9bafc3586729d03b5bc0d branch July 20, 2026 17:04
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