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

[Impeller] combine translate* scale mat mul when computing shader transform. #56352

Merged
merged 2 commits into from
Nov 4, 2024

Conversation

jonahwilliams
Copy link
Member

@jonahwilliams jonahwilliams commented Nov 4, 2024

For each draw we do 4 matrix multiplications, which isn't slow but does show up in CPU profiles at a few % of a frame. We can cut the number of multiplications down to 3 by constructing the translate*scale matrix in one go. The translate * scale matrix construction is much simpler than a full multiplication as we can ignore all of the known zero values.

@flutter-dashboard
Copy link

Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change).

If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review.

Changes reported for pull request #56352 at sha 43db85c

@jonahwilliams jonahwilliams reopened this Nov 4, 2024
@jonahwilliams
Copy link
Member Author

Okay, fixed matrix multiplication order.

@jonahwilliams jonahwilliams changed the title [Impeller] combine scale/translate mat mul when computing shader transform. [Impeller] combine translate* scale mat mul when computing shader transform. Nov 4, 2024
@jonahwilliams jonahwilliams requested a review from bdero November 4, 2024 17:34
Copy link
Member

@bdero bdero left a comment

Choose a reason for hiding this comment

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

LGTM

@jonahwilliams jonahwilliams added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 4, 2024
@auto-submit auto-submit bot merged commit b7f070c into flutter:main Nov 4, 2024
31 checks passed
@jonahwilliams jonahwilliams deleted the shader_cache branch November 4, 2024 19:25
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 4, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Nov 4, 2024
…158132)

flutter/engine@25c7e47...f880b56

2024-11-04 [email protected] Made it so angle builds on linux (flutter/engine#56328)
2024-11-04 [email protected] [Impeller] combine translate* scale mat mul when computing shader transform. (flutter/engine#56352)
2024-11-04 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 4.2.1 to 4.2.2 (flutter/engine#56191)
2024-11-04 [email protected] iOS: Eliminate fml::scoped_nsobject pointer use (flutter/engine#56295)
2024-11-04 [email protected] Roll Skia from e2ad60ea8039 to b2bb3af36da3 (1 revision) (flutter/engine#56355)

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] 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
nick9822 pushed a commit to nick9822/flutter that referenced this pull request Dec 18, 2024
…nsform. (flutter/engine#56352)

For each draw we do 4 matrix multiplications, which isn't slow but does show up in CPU profiles at a few % of a frame. We can cut the number of multiplications down to 3 by constructing the translate*scale matrix in one go. The translate * scale matrix construction is much simpler than a full multiplication as we can ignore all of the known zero values.
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 will affect goldens
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants