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#187247
Conversation
There was a problem hiding this comment.
Code Review
This pull request removes the conditional compilation block for IMPELLER_TARGET_OPENGLES in stretch_effect.frag, making the assignment of uv.y to out_v_norm unconditional. There are no review comments, and I have no feedback to provide.
|
About the code freeze failure: The point of the code freeze is to minimize friction when users migrate to material_ui. Ideally they can go from any version 3.44 or later to material_ui 1.0.0. My understanding, correct me if I'm wrong: As of the landing of #186556, Material's overscroll stretch effect is unacceptably broken. The only way to fix that is to land this PR. Implications: Since material_ui 1.0.0 is going to be published with the code from 3.44, it will not be compatible with the SDK as of the landing of #186556. We'll have to publish a ~1.0.1 that contains the fix in this PR, and users with later versions of the SDK will have to migrate directly to that. This is a big bump in the road for our decoupling migration, but it sounds like there is no other way? |
|
One way to possibly get around this would be to just get rid of (or rename) FragmentProgram's backend-specific As an aside, doing this sort of static hack within a filtering shader only works so long as the shader can only ever sample from a render target texture (i.e. a non-collapsed layer). If a filter shader were to ever end up sampling from a readonly texture on GLES, the static |
…t shader now that it is no longer required by the Impeller GLES back end flutter#186556 makes the behavior of the Y axis in the GLES back end consistent with other Impeller back ends. Shaders will render incorrectly if they continue to flip the Y axis based on "#ifdef IMPELLER_TARGET_OPENGLES".
cb46def to
483a76f
Compare
|
autosubmit label was removed for flutter/flutter/187247, because - The status or check suite Windows framework_tests_libraries_leak_tracking has failed. Please fix the issues identified (or deflake) before re-applying this label. |
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
#186556 makes the behavior of the Y axis in the GLES back end consistent with other Impeller back ends. Shaders will render incorrectly if they continue to flip the Y axis based on "#ifdef IMPELLER_TARGET_OPENGLES".