Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Reverts "[Impeller] Reland: Implement draw order optimization. (#54215)" #54261

Merged
merged 1 commit into from
Jul 31, 2024

Conversation

auto-submit[bot]
Copy link
Contributor

@auto-submit auto-submit bot commented Jul 31, 2024

Reverts: #54215

Initiated by: bdero

Reason for reverting: Causing golden diffs in framework roll https://flutter-gold.skia.org/search?issue=152633&crs=github&patchsets=2&corpus=flutter

Original PR Author: bdero

Reviewed By: {jonahwilliams}

This change reverts the following previous change:
Original PR: #54136
Revert PR: #54067

Includes fixes for issue seen in these goldens.

The problem was that the scissor was ending up wrong after clip replay for opaque draws that are supposed to occur outside the parent clip scope(s).

To fix it, I made clip replay draws as well as the subpass texture draw apply lazily.
For the clip replay, there's no need to apply a given clip until we come across an entity that has a depth less than or equal to the clip.
And for the subpass texture (which is often translucent), we can defer drawing it until we come across another translucent draw. Deferring the subpass texture is important because if we draw it immediately, then all of the replay clips need to be drawn immediately too.

Description

For each clip scope, draw opaque items in reverse order and translucent/backdrop-independent items in their original order afterwards. Clips are treated as translucent by the parent scope.

Respects clips, subpass collapse, and the clear color optimization.

Local new_gallery before/after (iPhone 12 mini):

cd ~/projects/flutter/flutter/dev/integration_tests/new_gallery
flutter drive --profile --local-engine-src-path ~/projects/flutter/engine/src --local-engine=ios_profile --local-engine-host=host_profile_arm64 --trace-startup -t test_driver/transitions_perf.dart -d 00008101-000A59A93C10001E

image

@auto-submit auto-submit bot added the revert of Bot Only: Tracking label for bot. Tracks new revert of pull requests. label Jul 31, 2024
@auto-submit auto-submit bot merged commit 6bf9f63 into main Jul 31, 2024
6 of 7 checks passed
@auto-submit auto-submit bot deleted the revert_11bce425f515a0a91f1ec22e08625b857ef994d5 branch July 31, 2024 19:59
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 31, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 31, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 31, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 31, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Aug 1, 2024
…sions) (#152648)

Manual roll requested by jacksongardner@google.com

flutter/engine@1633272...32f7888

2024-07-31 skia-flutter-autoroll@skia.org Roll Skia from 431b57332241 to b5ad5bf3696d (3 revisions) (flutter/engine#54259)
2024-07-31 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from cYjTzxe0MskG7PtkB... to uF76DfQgigt4utdBv... (flutter/engine#54258)
2024-07-31 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] Reland: Implement draw order optimization. (#54215)" (flutter/engine#54261)
2024-07-31 skia-flutter-autoroll@skia.org Roll Skia from cd58e87c06f9 to 431b57332241 (2 revisions) (flutter/engine#54257)
2024-07-31 chris@bracken.jp [iOS][macOS] Eliminate use of bitcode_strip (flutter/engine#54254)
2024-07-31 skia-flutter-autoroll@skia.org Roll Skia from e9e423457655 to cd58e87c06f9 (5 revisions) (flutter/engine#54253)
2024-07-31 matanlurey@users.noreply.github.com Cleanup the shell test, removing unused code (flutter/engine#54238)
2024-07-31 yjbanov@google.com [web] rename dialog to route to match the framework (flutter/engine#54228)
2024-07-31 skia-flutter-autoroll@skia.org Roll Dart SDK from edace067d950 to 5df6a6e0c037 (1 revision) (flutter/engine#54252)
2024-07-31 bdero@google.com [Impeller] Reland: Implement draw order optimization. (flutter/engine#54215)
2024-07-31 matanlurey@users.noreply.github.com Migrate the remaining real pub packages to pub workspaces. (flutter/engine#54232)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from cYjTzxe0MskG to uF76DfQgigt4

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

To file a bug in Flutter: 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
bdero added a commit that referenced this pull request Aug 1, 2024
This time for sure!

For each clip scope, draw opaque items in reverse order and
translucent/backdrop-independent items in their original order
afterwards. Clips are treated as translucent by the parent scope.

Respects clips, subpass collapse, and the clear color optimization.

Attempt 1: #54136
Revert 1: #54067
Attempt 2: #54215
Revert 2: #54261
TytaniumDev pushed a commit to TytaniumDev/flutter that referenced this pull request Aug 7, 2024
…sions) (flutter#152648)

Manual roll requested by jacksongardner@google.com

flutter/engine@1633272...32f7888

2024-07-31 skia-flutter-autoroll@skia.org Roll Skia from 431b57332241 to b5ad5bf3696d (3 revisions) (flutter/engine#54259)
2024-07-31 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from cYjTzxe0MskG7PtkB... to uF76DfQgigt4utdBv... (flutter/engine#54258)
2024-07-31 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] Reland: Implement draw order optimization. (flutter#54215)" (flutter/engine#54261)
2024-07-31 skia-flutter-autoroll@skia.org Roll Skia from cd58e87c06f9 to 431b57332241 (2 revisions) (flutter/engine#54257)
2024-07-31 chris@bracken.jp [iOS][macOS] Eliminate use of bitcode_strip (flutter/engine#54254)
2024-07-31 skia-flutter-autoroll@skia.org Roll Skia from e9e423457655 to cd58e87c06f9 (5 revisions) (flutter/engine#54253)
2024-07-31 matanlurey@users.noreply.github.com Cleanup the shell test, removing unused code (flutter/engine#54238)
2024-07-31 yjbanov@google.com [web] rename dialog to route to match the framework (flutter/engine#54228)
2024-07-31 skia-flutter-autoroll@skia.org Roll Dart SDK from edace067d950 to 5df6a6e0c037 (1 revision) (flutter/engine#54252)
2024-07-31 bdero@google.com [Impeller] Reland: Implement draw order optimization. (flutter/engine#54215)
2024-07-31 matanlurey@users.noreply.github.com Migrate the remaining real pub packages to pub workspaces. (flutter/engine#54232)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from cYjTzxe0MskG to uF76DfQgigt4

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

To file a bug in Flutter: 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
Buchimi pushed a commit to Buchimi/flutter that referenced this pull request Sep 2, 2024
…sions) (flutter#152648)

Manual roll requested by jacksongardner@google.com

flutter/engine@1633272...32f7888

2024-07-31 skia-flutter-autoroll@skia.org Roll Skia from 431b57332241 to b5ad5bf3696d (3 revisions) (flutter/engine#54259)
2024-07-31 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from cYjTzxe0MskG7PtkB... to uF76DfQgigt4utdBv... (flutter/engine#54258)
2024-07-31 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] Reland: Implement draw order optimization. (flutter#54215)" (flutter/engine#54261)
2024-07-31 skia-flutter-autoroll@skia.org Roll Skia from cd58e87c06f9 to 431b57332241 (2 revisions) (flutter/engine#54257)
2024-07-31 chris@bracken.jp [iOS][macOS] Eliminate use of bitcode_strip (flutter/engine#54254)
2024-07-31 skia-flutter-autoroll@skia.org Roll Skia from e9e423457655 to cd58e87c06f9 (5 revisions) (flutter/engine#54253)
2024-07-31 matanlurey@users.noreply.github.com Cleanup the shell test, removing unused code (flutter/engine#54238)
2024-07-31 yjbanov@google.com [web] rename dialog to route to match the framework (flutter/engine#54228)
2024-07-31 skia-flutter-autoroll@skia.org Roll Dart SDK from edace067d950 to 5df6a6e0c037 (1 revision) (flutter/engine#54252)
2024-07-31 bdero@google.com [Impeller] Reland: Implement draw order optimization. (flutter/engine#54215)
2024-07-31 matanlurey@users.noreply.github.com Migrate the remaining real pub packages to pub workspaces. (flutter/engine#54232)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from cYjTzxe0MskG to uF76DfQgigt4

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

To file a bug in Flutter: 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 subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
e: impeller revert of Bot Only: Tracking label for bot. Tracks new revert of pull requests.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants