engine icon indicating copy to clipboard operation
engine copied to clipboard

Use `MakeWebGLSurface` in `toImageSync`

Open harryterkelsen opened this issue 2 years ago • 3 comments

Uses a WebGL surface in conjunction with readPixels to make an image from an SkPicture. This is needed since the picture may contain GL texture-backed images.

Fixes https://github.com/flutter/flutter/issues/103803

Pre-launch Checklist

  • [x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • [x] I read the Tree Hygiene wiki page, which explains my responsibilities.
  • [x] I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides.
  • [x] I listed at least one issue that this PR fixes in the description above.
  • [x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt. See testing the engine for instructions on writing and running engine tests.
  • [x] I updated/added relevant documentation (doc comments with ///).
  • [x] I signed the CLA.
  • [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

harryterkelsen avatar Aug 09 '22 18:08 harryterkelsen

Gold has detected about 1 new digest(s) on patchset 7. View them at https://flutter-engine-gold.skia.org/cl/github/35276

skia-gold avatar Aug 09 '22 20:08 skia-gold

Gold has detected about 1 new digest(s) on patchset 9. View them at https://flutter-engine-gold.skia.org/cl/github/35276

skia-gold avatar Aug 09 '22 22:08 skia-gold

Gold has detected about 1 new digest(s) on patchset 11. View them at https://flutter-engine-gold.skia.org/cl/github/35276

skia-gold avatar Aug 09 '22 23:08 skia-gold

Gold has detected about 1 new digest(s) on patchset 13. View them at https://flutter-engine-gold.skia.org/cl/github/35276

skia-gold avatar Aug 17 '22 18:08 skia-gold

Gold has detected about 1 new digest(s) on patchset 14. View them at https://flutter-engine-gold.skia.org/cl/github/35276

skia-gold avatar Aug 17 '22 18:08 skia-gold

Gold has detected about 1 new digest(s) on patchset 15. View them at https://flutter-engine-gold.skia.org/cl/github/35276

skia-gold avatar Aug 17 '22 19:08 skia-gold

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 #35276 at sha dacaf3b094ac755cbc3e7656f1573951085b1b22

flutter-dashboard[bot] avatar Aug 17 '22 19:08 flutter-dashboard[bot]

Gold has detected about 1 new digest(s) on patchset 16. View them at https://flutter-engine-gold.skia.org/cl/github/35276

skia-gold avatar Aug 17 '22 20:08 skia-gold

Golden file changes are available for triage from new commit, Click here to view.

Changes reported for pull request #35276 at sha 102e06bd7f24dddfe09bed2ca2b84888d2ae4a1f

flutter-dashboard[bot] avatar Aug 17 '22 21:08 flutter-dashboard[bot]

Gold has detected about 1 new digest(s) on patchset 17. View them at https://flutter-engine-gold.skia.org/cl/github/35276

skia-gold avatar Aug 18 '22 23:08 skia-gold

I'm not sure the entire context for this fix, but note that this is a large performance regression in cases where it is not needed. In general, reading back from the GPU is a high latency operation and should be avoided at all costs

jonahwilliams avatar Dec 29 '22 18:12 jonahwilliams