[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 [email protected] Roll Fuchsia Linux SDK from jMR_VXQi07kAk8vbR... to q27k7_um1GvVrySZS... (flutter/flutter#187338) 2026-06-01 [email protected] Remove use of deprecated API related to removal of the VM isolate. (flutter/flutter#187013) 2026-06-01 [email protected] Improve `dependOnInheritedWidgetOfExactType` documentation to explain why it is bad to use it in initState (flutter/flutter#186216) 2026-06-01 [email protected] Revert "Move dart-lang/ai to a top level third party dependency in en… (flutter/flutter#187370) 2026-05-30 [email protected] Move dart-lang/ai to a top level third party dependency in engine (flutter/flutter#187268) 2026-05-30 [email protected] add sdf golden variants for OpenGL (flutter/flutter#187246) 2026-05-30 [email protected] Roll Skia from dc01525ac468 to 0aee4675e0ad (6 revisions) (flutter/flutter#187334) 2026-05-29 [email protected] Roll Skia from c480ba2eb2eb to dc01525ac468 (4 revisions) (flutter/flutter#187317) 2026-05-29 [email protected] 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 [email protected] [flutter_tools, devicelab] Fix filesystem safety guard for symlinked temp directories (flutter/flutter#187320) 2026-05-29 [email protected] Brings linux tests out of bringup. (flutter/flutter#187271) 2026-05-29 [email protected] Roll pub packages (flutter/flutter#187321) 2026-05-29 [email protected] Roll Fuchsia GN SDK from SEfYx3xgueX3aFAY3... to oOAcFhkoE2_-Sy67z... (flutter/flutter#187310) 2026-05-29 [email protected] Fix mismatch between hit-test tree and traversal tree (flutter/flutter#186826) 2026-05-29 [email protected] [Impeller] Ensure that the TextureGLES destructor cleans up all objects that it holds including the sync fence (flutter/flutter#187216) 2026-05-29 [email protected] Roll Packages from 10cbdc5 to e930ced (3 revisions) (flutter/flutter#187306) 2026-05-29 [email protected] 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 [email protected],[email protected] 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
…r#11816) flutter/flutter@b05a9d7...54e199a 2026-06-01 [email protected] Roll Fuchsia Linux SDK from jMR_VXQi07kAk8vbR... to q27k7_um1GvVrySZS... (flutter/flutter#187338) 2026-06-01 [email protected] Remove use of deprecated API related to removal of the VM isolate. (flutter/flutter#187013) 2026-06-01 [email protected] Improve `dependOnInheritedWidgetOfExactType` documentation to explain why it is bad to use it in initState (flutter/flutter#186216) 2026-06-01 [email protected] Revert "Move dart-lang/ai to a top level third party dependency in en… (flutter/flutter#187370) 2026-05-30 [email protected] Move dart-lang/ai to a top level third party dependency in engine (flutter/flutter#187268) 2026-05-30 [email protected] add sdf golden variants for OpenGL (flutter/flutter#187246) 2026-05-30 [email protected] Roll Skia from dc01525ac468 to 0aee4675e0ad (6 revisions) (flutter/flutter#187334) 2026-05-29 [email protected] Roll Skia from c480ba2eb2eb to dc01525ac468 (4 revisions) (flutter/flutter#187317) 2026-05-29 [email protected] 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 [email protected] [flutter_tools, devicelab] Fix filesystem safety guard for symlinked temp directories (flutter/flutter#187320) 2026-05-29 [email protected] Brings linux tests out of bringup. (flutter/flutter#187271) 2026-05-29 [email protected] Roll pub packages (flutter/flutter#187321) 2026-05-29 [email protected] Roll Fuchsia GN SDK from SEfYx3xgueX3aFAY3... to oOAcFhkoE2_-Sy67z... (flutter/flutter#187310) 2026-05-29 [email protected] Fix mismatch between hit-test tree and traversal tree (flutter/flutter#186826) 2026-05-29 [email protected] [Impeller] Ensure that the TextureGLES destructor cleans up all objects that it holds including the sync fence (flutter/flutter#187216) 2026-05-29 [email protected] Roll Packages from 10cbdc5 to e930ced (3 revisions) (flutter/flutter#187306) 2026-05-29 [email protected] 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 [email protected],[email protected] 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
…ts that it holds including the sync fence (flutter#187216) 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
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