Repository navigation
[Flutter GPU] Fix Android/GLES crashers. - #172588
Conversation
| break; | ||
| case PixelFormat::kR32G32B32A32Float: | ||
| internal_format = GL_RGBA; | ||
| internal_format = GL_RGBA32F; |
There was a problem hiding this comment.
Does some form of capability checking already exist for these?
Fixing the enum values here sgtm though.
There was a problem hiding this comment.
Err, doesn't look like it. I suppose it's GLES 3+ only.
| TextureDescriptor desc); | ||
|
|
||
| TextureGLES(std::shared_ptr<ReactorGLES> reactor, TextureDescriptor desc); | ||
| TextureGLES(std::shared_ptr<ReactorGLES> reactor, |
There was a problem hiding this comment.
Let's document the argument. Something like, "Whether the calling thread has a reactor worker.". Or something that ties the usage to the way the reactor works.
Thinking about this some more, can't this value be implicitly determined using ReactorGLES::CanReactOnCurrentThread?
There was a problem hiding this comment.
Added docstrings.
So long as we have the concept of "untracked" handles (which I'm not really a fan of), it would seem that we'd need to punt this responsibility onto the user of the API, since only the user can know if they're going to destroy the texture off the GL context thread.
In either case, I tried this just for kicks, and CanReactOnCurrentThread segfaults while attempting to acquire the mutex lock for some reason... :(
There was a problem hiding this comment.
I can take a look at the crasher. Can you file an issue for that?
38fbbe4 to
c43b41f
Compare
flutter/flutter@cfbaa18...46b097a 2025-07-29 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Manual roll of Dart from 5ede85aff798 to 14ea8d342149 (#172783)" (flutter/flutter#172900) 2025-07-29 a-siva@users.noreply.github.com Manual roll of Dart from 5ede85aff798 to 14ea8d342149 (flutter/flutter#172783) 2025-07-29 chingjun@google.com Revert "Remove 2023 deprecated `'platforms'` key from daemon output (#172593)" (flutter/flutter#172883) 2025-07-29 flar@google.com Migrate Embedder code to impeller/DL geometry classes (flutter/flutter#172804) 2025-07-28 bdero@google.com [Flutter GPU] Fix Android/GLES crashers. (flutter/flutter#172588) 2025-07-28 engine-flutter-autoroll@skia.org Roll Packages from 963550c to 6b2e34e (7 revisions) (flutter/flutter#172869) 2025-07-28 30870216+gaaclarke@users.noreply.github.com Reland licenses cpp switch (flutter/flutter#172671) 2025-07-28 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[flutter_tools] Add --no-codesign support for macOS build (#169034)" (flutter/flutter#172878) 2025-07-28 matej.knopp@gmail.com [flutter_tools] Add --no-codesign support for macOS build (flutter/flutter#169034) 2025-07-28 stuartmorgan@google.com Add `--config-only` build option for Linux and Windows (flutter/flutter#172239) 2025-07-28 magder@google.com Add Gemini Code Assist review config and style guide (flutter/flutter#172785) 2025-07-28 41930132+hellohuanlin@users.noreply.github.com [ios]update provisioning profile for 2025-2026 cert for chromium bots (flutter/flutter#171021) 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 muhatashim@google.com,stuartmorgan@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
flutter/flutter@cfbaa18...46b097a 2025-07-29 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Manual roll of Dart from 5ede85aff798 to 14ea8d342149 (#172783)" (flutter/flutter#172900) 2025-07-29 a-siva@users.noreply.github.com Manual roll of Dart from 5ede85aff798 to 14ea8d342149 (flutter/flutter#172783) 2025-07-29 chingjun@google.com Revert "Remove 2023 deprecated `'platforms'` key from daemon output (#172593)" (flutter/flutter#172883) 2025-07-29 flar@google.com Migrate Embedder code to impeller/DL geometry classes (flutter/flutter#172804) 2025-07-28 bdero@google.com [Flutter GPU] Fix Android/GLES crashers. (flutter/flutter#172588) 2025-07-28 engine-flutter-autoroll@skia.org Roll Packages from 963550c to 6b2e34e (7 revisions) (flutter/flutter#172869) 2025-07-28 30870216+gaaclarke@users.noreply.github.com Reland licenses cpp switch (flutter/flutter#172671) 2025-07-28 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[flutter_tools] Add --no-codesign support for macOS build (#169034)" (flutter/flutter#172878) 2025-07-28 matej.knopp@gmail.com [flutter_tools] Add --no-codesign support for macOS build (flutter/flutter#169034) 2025-07-28 stuartmorgan@google.com Add `--config-only` build option for Linux and Windows (flutter/flutter#172239) 2025-07-28 magder@google.com Add Gemini Code Assist review config and style guide (flutter/flutter#172785) 2025-07-28 41930132+hellohuanlin@users.noreply.github.com [ios]update provisioning profile for 2025-2026 cert for chromium bots (flutter/flutter#171021) 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 muhatashim@google.com,stuartmorgan@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
Continuation of flutter#165630. Resolves flutter#164278. Resolves bdero/flutter_scene#35. Partly fixes: flutter#160948. * Fixes OpenGLES crashers. * Threadsafe GLES pipeline creation. * Threadsafe GLES texture creation. * Fix GLES internal float texture formats. * Encode GLES passes on the raster thread. * Overwrite GLES textures on the raster thread. * Fixes vulkan memory leak (flutter#164278).
Continuation of flutter#165630. Resolves flutter#164278. Resolves bdero/flutter_scene#35. Partly fixes: flutter#160948. * Fixes OpenGLES crashers. * Threadsafe GLES pipeline creation. * Threadsafe GLES texture creation. * Fix GLES internal float texture formats. * Encode GLES passes on the raster thread. * Overwrite GLES textures on the raster thread. * Fixes vulkan memory leak (flutter#164278).
[Flutter GPU] Fix Android/GLES crashers. (flutter#172588) Continuation of flutter#165630. Resolves flutter#164278. Resolves bdero/flutter_scene#35. Partly fixes: flutter#160948. * Fixes OpenGLES crashers. * Threadsafe GLES pipeline creation. * Threadsafe GLES texture creation. * Fix GLES internal float texture formats. * Encode GLES passes on the raster thread. * Overwrite GLES textures on the raster thread. * Fixes vulkan memory leak (flutter#164278).
Continuation of flutter#165630. Resolves flutter#164278. Resolves bdero/flutter_scene#35. Partly fixes: flutter#160948. * Fixes OpenGLES crashers. * Threadsafe GLES pipeline creation. * Threadsafe GLES texture creation. * Fix GLES internal float texture formats. * Encode GLES passes on the raster thread. * Overwrite GLES textures on the raster thread. * Fixes vulkan memory leak (flutter#164278).
[Flutter GPU] Fix Android/GLES crashers. (flutter#172588) Continuation of flutter#165630. Resolves flutter#164278. Resolves bdero/flutter_scene#35. Partly fixes: flutter#160948. * Fixes OpenGLES crashers. * Threadsafe GLES pipeline creation. * Threadsafe GLES texture creation. * Fix GLES internal float texture formats. * Encode GLES passes on the raster thread. * Overwrite GLES textures on the raster thread. * Fixes vulkan memory leak (flutter#164278).
Continuation of flutter#165630. Resolves flutter#164278. Resolves bdero/flutter_scene#35. Partly fixes: flutter#160948. * Fixes OpenGLES crashers. * Threadsafe GLES pipeline creation. * Threadsafe GLES texture creation. * Fix GLES internal float texture formats. * Encode GLES passes on the raster thread. * Overwrite GLES textures on the raster thread. * Fixes vulkan memory leak (flutter#164278).
- flutter#172588 has been included in 3.38. So it excludes that was applied in 3.35.3. - Added the `--no-lto` gn option. - `flto` for linux was added but it have been disabled in Flutter CI due to build performance issues. - flutter#176191 - flutter#177660 - flutter#177694 - If we want to apply the flto option, we need a container with an updated toolchain. tool: flutter-tizen/flutter-tizen#714 embedder: flutter-tizen/embedder#134 flutter-tizen/flutter-tizen#687
flutter/flutter@cfbaa18...46b097a 2025-07-29 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Manual roll of Dart from 5ede85aff798 to 14ea8d342149 (#172783)" (flutter/flutter#172900) 2025-07-29 a-siva@users.noreply.github.com Manual roll of Dart from 5ede85aff798 to 14ea8d342149 (flutter/flutter#172783) 2025-07-29 chingjun@google.com Revert "Remove 2023 deprecated `'platforms'` key from daemon output (#172593)" (flutter/flutter#172883) 2025-07-29 flar@google.com Migrate Embedder code to impeller/DL geometry classes (flutter/flutter#172804) 2025-07-28 bdero@google.com [Flutter GPU] Fix Android/GLES crashers. (flutter/flutter#172588) 2025-07-28 engine-flutter-autoroll@skia.org Roll Packages from 963550c to 6b2e34e (7 revisions) (flutter/flutter#172869) 2025-07-28 30870216+gaaclarke@users.noreply.github.com Reland licenses cpp switch (flutter/flutter#172671) 2025-07-28 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[flutter_tools] Add --no-codesign support for macOS build (#169034)" (flutter/flutter#172878) 2025-07-28 matej.knopp@gmail.com [flutter_tools] Add --no-codesign support for macOS build (flutter/flutter#169034) 2025-07-28 stuartmorgan@google.com Add `--config-only` build option for Linux and Windows (flutter/flutter#172239) 2025-07-28 magder@google.com Add Gemini Code Assist review config and style guide (flutter/flutter#172785) 2025-07-28 41930132+hellohuanlin@users.noreply.github.com [ios]update provisioning profile for 2025-2026 cert for chromium bots (flutter/flutter#171021) 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 muhatashim@google.com,stuartmorgan@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
flutter/flutter@cfbaa18...46b097a 2025-07-29 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Manual roll of Dart from 5ede85aff798 to 14ea8d342149 (#172783)" (flutter/flutter#172900) 2025-07-29 a-siva@users.noreply.github.com Manual roll of Dart from 5ede85aff798 to 14ea8d342149 (flutter/flutter#172783) 2025-07-29 chingjun@google.com Revert "Remove 2023 deprecated `'platforms'` key from daemon output (#172593)" (flutter/flutter#172883) 2025-07-29 flar@google.com Migrate Embedder code to impeller/DL geometry classes (flutter/flutter#172804) 2025-07-28 bdero@google.com [Flutter GPU] Fix Android/GLES crashers. (flutter/flutter#172588) 2025-07-28 engine-flutter-autoroll@skia.org Roll Packages from f9acfba to 7c3e2d3 (7 revisions) (flutter/flutter#172869) 2025-07-28 30870216+gaaclarke@users.noreply.github.com Reland licenses cpp switch (flutter/flutter#172671) 2025-07-28 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[flutter_tools] Add --no-codesign support for macOS build (#169034)" (flutter/flutter#172878) 2025-07-28 matej.knopp@gmail.com [flutter_tools] Add --no-codesign support for macOS build (flutter/flutter#169034) 2025-07-28 stuartmorgan@google.com Add `--config-only` build option for Linux and Windows (flutter/flutter#172239) 2025-07-28 magder@google.com Add Gemini Code Assist review config and style guide (flutter/flutter#172785) 2025-07-28 41930132+hellohuanlin@users.noreply.github.com [ios]update provisioning profile for 2025-2026 cert for chromium bots (flutter/flutter#171021) 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 muhatashim@google.com,stuartmorgan@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
Continuation of #165630.
Resolves #164278.
Resolves bdero/flutter_scene#35.
Partly fixes: #160948.