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

Reverts "[Impeller] Implement draw order optimization. (#54067)" #54136

Merged
merged 1 commit into from
Jul 26, 2024

Conversation

auto-submit[bot]
Copy link
Contributor

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

Reverts: #54067

Initiated by: jonahwilliams

Reason for reverting: disappearing fabs and background color in framework golden tests https://flutter-gold.skia.org/search?issue=152354&crs=github&patchsets=2&corpus=flutter

Original PR Author: bdero

Reviewed By: {jonahwilliams}

This change reverts the following previous change:
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 26, 2024
@auto-submit auto-submit bot merged commit 342a425 into main Jul 26, 2024
7 checks passed
@auto-submit auto-submit bot deleted the revert_1df62d3326d13b49661c8e91a72ee89f38c0fd78 branch July 26, 2024 03:47
zanderso pushed a commit to flutter/flutter that referenced this pull request Jul 26, 2024
…ions) (#152379)

Manual roll requested by [email protected]

flutter/engine@8714b54...342a425

2024-07-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts
"[Impeller] Implement draw order optimization. (#54067)"
(flutter/engine#54136)
2024-07-26 [email protected] Roll Skia from 06b26a1d51d7 to
cd892b576ade (1 revision) (flutter/engine#54134)
2024-07-26 [email protected] Directly use 4x4 matrices with
surface textures instead of converting to and from the 3x3 variants.
(flutter/engine#54126)
2024-07-26 [email protected] Roll Skia from e9b8585af6b5 to
06b26a1d51d7 (1 revision) (flutter/engine#54132)
2024-07-26 [email protected] [Impeller] Implement draw order
optimization. (flutter/engine#54067)
2024-07-26 [email protected] Roll Fuchsia Test Scripts from
clqtZA8cx4GEXwcOe... to dUCMHqU6ihfIFKAw8... (flutter/engine#54130)

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 [email protected],[email protected],[email protected] 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 to bdero/flutter-engine that referenced this pull request Jul 30, 2024
bdero added a commit to bdero/flutter-engine that referenced this pull request Jul 30, 2024
bdero added a commit that referenced this pull request Jul 31, 2024
Original PR: #54136
Revert PR: #54067

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.
auto-submit bot added a commit that referenced this pull request Jul 31, 2024
…" (#54261)

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](https://flutter-gold.skia.org/search?issue=152354&crs=github&patchsets=2&corpus=flutter).

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](https://github.com/user-attachments/assets/7372c128-ca71-44a6-8e6c-b0043025f751)
bdero added a commit to bdero/flutter-engine that referenced this pull request Jul 31, 2024
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
…ions) (flutter#152379)

Manual roll requested by [email protected]

flutter/engine@8714b54...342a425

2024-07-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts
"[Impeller] Implement draw order optimization. (flutter#54067)"
(flutter/engine#54136)
2024-07-26 [email protected] Roll Skia from 06b26a1d51d7 to
cd892b576ade (1 revision) (flutter/engine#54134)
2024-07-26 [email protected] Directly use 4x4 matrices with
surface textures instead of converting to and from the 3x3 variants.
(flutter/engine#54126)
2024-07-26 [email protected] Roll Skia from e9b8585af6b5 to
06b26a1d51d7 (1 revision) (flutter/engine#54132)
2024-07-26 [email protected] [Impeller] Implement draw order
optimization. (flutter/engine#54067)
2024-07-26 [email protected] Roll Fuchsia Test Scripts from
clqtZA8cx4GEXwcOe... to dUCMHqU6ihfIFKAw8... (flutter/engine#54130)

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 [email protected],[email protected],[email protected] 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
…ions) (flutter#152379)

Manual roll requested by [email protected]

flutter/engine@8714b54...342a425

2024-07-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts
"[Impeller] Implement draw order optimization. (flutter#54067)"
(flutter/engine#54136)
2024-07-26 [email protected] Roll Skia from 06b26a1d51d7 to
cd892b576ade (1 revision) (flutter/engine#54134)
2024-07-26 [email protected] Directly use 4x4 matrices with
surface textures instead of converting to and from the 3x3 variants.
(flutter/engine#54126)
2024-07-26 [email protected] Roll Skia from e9b8585af6b5 to
06b26a1d51d7 (1 revision) (flutter/engine#54132)
2024-07-26 [email protected] [Impeller] Implement draw order
optimization. (flutter/engine#54067)
2024-07-26 [email protected] Roll Fuchsia Test Scripts from
clqtZA8cx4GEXwcOe... to dUCMHqU6ihfIFKAw8... (flutter/engine#54130)

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 [email protected],[email protected],[email protected] 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