Skip to content

Conversation

DEVSOG12
Copy link
Contributor

@DEVSOG12 DEVSOG12 commented Aug 14, 2025

This PR improves the OpenGL error handling and procedure table interface in the Impeller renderer by changing const char* to std::string_view for better memory safety.

Testing:

Added unit tests to cover GLErrorToString return values and string_view behavior

Issues Fixed #135922

This PR addresses technical debt by improving string handling in the OpenGL backend, and type safety without breaking existing functionality.

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
  • All existing and new tests are passing.

@github-actions github-actions bot added engine flutter/engine related. See also e: labels. e: impeller Impeller rendering backend issues and features requests labels Aug 14, 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 effectively modernizes the OpenGL error handling and procedure table by replacing const char* with std::string_view. The changes improve type safety and align with modern C++ practices. The addition of unit tests is a great step towards ensuring the correctness of these changes. I have one suggestion to improve the test coverage for GLErrorToString to make it more comprehensive.

@DEVSOG12 DEVSOG12 force-pushed the string-view-modernization branch 2 times, most recently from 255be55 to 88a8a4f Compare August 14, 2025 13:42
@DEVSOG12 DEVSOG12 marked this pull request as ready for review August 14, 2025 20:24
@DEVSOG12 DEVSOG12 force-pushed the string-view-modernization branch from 4838294 to fb650fc Compare August 14, 2025 23:26
@DEVSOG12 DEVSOG12 force-pushed the string-view-modernization branch 7 times, most recently from b389340 to c389efd Compare August 30, 2025 16:36
@DEVSOG12 DEVSOG12 force-pushed the string-view-modernization branch from c389efd to 16b9337 Compare August 30, 2025 17:22
@DEVSOG12
Copy link
Contributor Author

DEVSOG12 commented Sep 2, 2025

@chinmaygarde could you add the autosubmit tag

@chinmaygarde chinmaygarde added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 8, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Sep 8, 2025
Merged via the queue into flutter:master with commit b01f4a5 Sep 8, 2025
183 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Sep 8, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Sep 9, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Sep 9, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Sep 9, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Sep 9, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Sep 10, 2025
flutter/flutter@973320c...a082096

2025-09-09 engine-flutter-autoroll@skia.org Roll Packages from 24588c6 to 2d651b2 (2 revisions) (flutter/flutter#175130)
2025-09-09 engine-flutter-autoroll@skia.org Roll Skia from ab13fd19dd32 to 19ba56dde579 (2 revisions) (flutter/flutter#175127)
2025-09-09 engine-flutter-autoroll@skia.org Roll Skia from 29a015f8712b to ab13fd19dd32 (2 revisions) (flutter/flutter#175108)
2025-09-09 engine-flutter-autoroll@skia.org Roll Skia from 6a4613b83365 to 29a015f8712b (5 revisions) (flutter/flutter#175106)
2025-09-09 engine-flutter-autoroll@skia.org Roll Dart SDK from 7b645442db0f to f446144fb7c9 (2 revisions) (flutter/flutter#175104)
2025-09-08 victorsanniay@gmail.com Nav bar static components respect ambient MediaQueryData (flutter/flutter#174673)
2025-09-08 mohellebiabdessalem@gmail.com fix typo in test documentation #2 (flutter/flutter#174707)
2025-09-08 jason-simmons@users.noreply.github.com Update ImageReaderSurfaceProducer.MAX_IMAGES to include the maximum number of retained dequeued images (flutter/flutter#174971)
2025-09-08 49699333+dependabot[bot]@users.noreply.github.com Bump actions/labeler from 5.0.0 to 6.0.1 in the all-github-actions group (flutter/flutter#175093)
2025-09-08 engine-flutter-autoroll@skia.org Roll Skia from 25f00cb247f2 to 6a4613b83365 (3 revisions) (flutter/flutter#175087)
2025-09-08 engine-flutter-autoroll@skia.org Roll Dart SDK from 83c6b6124380 to 7b645442db0f (1 revision) (flutter/flutter#175086)
2025-09-08 oreofesolarin@gmail.com Impeller: Convert GLProc name field and GLErrorToString to std::string_view (flutter/flutter#173771)
2025-09-08 chinmaygarde@google.com Depend on operator overload synthesis for three-way and equality comparisons. (flutter/flutter#174892)
2025-09-08 chinmaygarde@google.com Define a concept for UniqueObjectTraits. (flutter/flutter#174905)
2025-09-08 engine-flutter-autoroll@skia.org Roll Skia from 0c2b0a00b7b5 to 25f00cb247f2 (1 revision) (flutter/flutter#175077)
2025-09-08 magder@google.com Fix GitHub labeler platform-android typo (flutter/flutter#175076)
2025-09-08 jessiewong401@gmail.com [Gradle 9] Removed `minSdkVersion` and only use `minSdk` (flutter/flutter#173892)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e: impeller Impeller rendering backend issues and features requests engine flutter/engine related. See also e: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Impeller] OpenGLES Proc Table should use std::string_view not char*
3 participants