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

Conversation

@bdero
Copy link
Member

@bdero bdero commented Jul 24, 2023

Turns out removing the color attachment is failing Metal validation on iOS due to the pipeline color attachments mismatching the framebuffer (even though it winds up rendering correctly).

So this patch replaces the mechanism with a better default config, including:

  • dedicated shaders that are less expensive than Solid Fill
  • destination blending

I'll take another swing at trying to get it to work if the iOS benchmarks pop back up a bit from this. For now, this fixes the validation failure and should make clips a tad faster on Vulkan and GLES.

@bdero bdero self-assigned this Jul 24, 2023
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Copy link
Contributor

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

The color attachment issue would require a similar fix to the vulkan backend where the pipeline we use to create the prototype has the correct color attachment, right?

@jonahwilliams jonahwilliams added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 24, 2023
@auto-submit auto-submit bot merged commit b441d9d into flutter:main Jul 24, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 24, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jul 24, 2023
…131214)

flutter/engine@2b8d83f...815b971

2023-07-24 [email protected] Fix missing dispose VirtualDisplayController (flutter/engine#43807)
2023-07-24 [email protected] [Impeller] provide cull rect to Canvas in GL/Vulakn impeller backend. (flutter/engine#43961)
2023-07-24 [email protected] [Impeller] Fix clip pipeline validation failure; add dedicated clip shaders. (flutter/engine#43946)
2023-07-24 [email protected] Roll ANGLE from e28575f66ae5 to 5e21d7f02425 (4 revisions) (flutter/engine#43964)
2023-07-24 [email protected] Roll Skia from a56bc23bfec7 to 99e8dc51ba53 (5 revisions) (flutter/engine#43963)

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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
auto-submit bot pushed a commit that referenced this pull request Jul 25, 2023
Resolves flutter/flutter#131100

* Skip rect clips that we know won't further restrict the clip shape.
* Don't append clips to enforce subpass bounds. We currently don't collapse passes when subpass clips are added anyhow, so just a restriction to subpass collapsing in order to keep the current behavior intact.
* Small refactor to reduce confusion: Just place the subpass bounds limit into `EntityPass` itself instead of the delegate.

Built on #43946 (because iOS currently fails validation without it).

Gallery home screen before/after:

![compare](https://github.com/flutter/engine/assets/919017/34608633-6b3b-4979-be2b-f2685b32168f)
LouiseHsu pushed a commit to LouiseHsu/flutter that referenced this pull request Jul 31, 2023
…lutter#131214)

flutter/engine@2b8d83f...815b971

2023-07-24 [email protected] Fix missing dispose VirtualDisplayController (flutter/engine#43807)
2023-07-24 [email protected] [Impeller] provide cull rect to Canvas in GL/Vulakn impeller backend. (flutter/engine#43961)
2023-07-24 [email protected] [Impeller] Fix clip pipeline validation failure; add dedicated clip shaders. (flutter/engine#43946)
2023-07-24 [email protected] Roll ANGLE from e28575f66ae5 to 5e21d7f02425 (4 revisions) (flutter/engine#43964)
2023-07-24 [email protected] Roll Skia from a56bc23bfec7 to 99e8dc51ba53 (5 revisions) (flutter/engine#43963)

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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
vashworth pushed a commit to vashworth/flutter that referenced this pull request Aug 2, 2023
…lutter#131214)

flutter/engine@2b8d83f...815b971

2023-07-24 [email protected] Fix missing dispose VirtualDisplayController (flutter/engine#43807)
2023-07-24 [email protected] [Impeller] provide cull rect to Canvas in GL/Vulakn impeller backend. (flutter/engine#43961)
2023-07-24 [email protected] [Impeller] Fix clip pipeline validation failure; add dedicated clip shaders. (flutter/engine#43946)
2023-07-24 [email protected] Roll ANGLE from e28575f66ae5 to 5e21d7f02425 (4 revisions) (flutter/engine#43964)
2023-07-24 [email protected] Roll Skia from a56bc23bfec7 to 99e8dc51ba53 (5 revisions) (flutter/engine#43963)

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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

autosubmit Merge PR when tree becomes green via auto submit App e: impeller

Projects

No open projects
Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants