[Impeller] Ensure that the TextureGLES destructor cleans up all objects that it holds including the sync fence#187216
Conversation
…ts that it holds including the sync fence TextureGLES owns a texture and may be given ownership of cached FBO and sync fence objects. Use UniqueHandleGLES to manage the lifecycle of these objects. Fixes flutter#186899
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors TextureGLES to manage its OpenGL ES handles (including texture handles, fences, and cached FBOs) using UniqueHandleGLES instead of raw handles, eliminating the need for manual cleanup in the destructor. It also extends UniqueHandleGLES with a default constructor, move assignment operator, Reset(), and Release() methods, and adds a unit test to verify fence deletion on texture destruction. The review feedback identifies a typo in the new test name and recommends marking the move assignment operator of UniqueHandleGLES as noexcept in both the header and implementation files to align with the Google C++ Style Guide.
|
autosubmit label was removed for flutter/flutter/187216, because Pull request flutter/flutter/187216 is not in a mergeable state. |
flutter/flutter@b05a9d7...54e199a 2026-06-01 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from jMR_VXQi07kAk8vbR... to q27k7_um1GvVrySZS... (flutter/flutter#187338) 2026-06-01 rmacnak@google.com Remove use of deprecated API related to removal of the VM isolate. (flutter/flutter#187013) 2026-06-01 116356835+AbdeMohlbi@users.noreply.github.com Improve `dependOnInheritedWidgetOfExactType` documentation to explain why it is bad to use it in initState (flutter/flutter#186216) 2026-06-01 chris@bracken.jp Revert "Move dart-lang/ai to a top level third party dependency in en… (flutter/flutter#187370) 2026-05-30 jakemac@google.com Move dart-lang/ai to a top level third party dependency in engine (flutter/flutter#187268) 2026-05-30 evanwall@buffalo.edu add sdf golden variants for OpenGL (flutter/flutter#187246) 2026-05-30 engine-flutter-autoroll@skia.org Roll Skia from dc01525ac468 to 0aee4675e0ad (6 revisions) (flutter/flutter#187334) 2026-05-29 engine-flutter-autoroll@skia.org Roll Skia from c480ba2eb2eb to dc01525ac468 (4 revisions) (flutter/flutter#187317) 2026-05-29 jason-simmons@users.noreply.github.com Remove the Y coordinate flip workaround in the Material stretch effect shader now that it is no longer required by the Impeller GLES back end (flutter/flutter#187247) 2026-05-29 bkonyi@google.com [flutter_tools, devicelab] Fix filesystem safety guard for symlinked temp directories (flutter/flutter#187320) 2026-05-29 30870216+gaaclarke@users.noreply.github.com Brings linux tests out of bringup. (flutter/flutter#187271) 2026-05-29 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#187321) 2026-05-29 engine-flutter-autoroll@skia.org Roll Fuchsia GN SDK from SEfYx3xgueX3aFAY3... to oOAcFhkoE2_-Sy67z... (flutter/flutter#187310) 2026-05-29 36861262+QuncCccccc@users.noreply.github.com Fix mismatch between hit-test tree and traversal tree (flutter/flutter#186826) 2026-05-29 jason-simmons@users.noreply.github.com [Impeller] Ensure that the TextureGLES destructor cleans up all objects that it holds including the sync fence (flutter/flutter#187216) 2026-05-29 engine-flutter-autoroll@skia.org Roll Packages from 10cbdc5 to e930ced (3 revisions) (flutter/flutter#187306) 2026-05-29 engine-flutter-autoroll@skia.org Roll Skia from d9d6b440c4e7 to c480ba2eb2eb (1 revision) (flutter/flutter#187305) 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
|
Failed to create CP due to merge conflicts. |
1 similar comment
|
Failed to create CP due to merge conflicts. |
TextureGLES owns a texture and may be given ownership of cached FBO and sync fence objects. Use UniqueHandleGLES to manage the lifecycle of these objects.
Fixes #186899