engine icon indicating copy to clipboard operation
engine copied to clipboard

[Multiwindow] Backing store and compositor

Open dkwingsmt opened this issue 3 years ago • 0 comments

This PR is based on https://github.com/flutter/engine/pull/36392 and currently contains parent PRs . See https://github.com/dkwingsmt/engine/pull/8 for net changes.

This PR turns backing store and compositor to fitting the multi-view world. The change stops at:

  • Rasterizer::SubmitFrame, where it will expect a view ID from LayerTree but uses a fake one for now.
  • macos/FlutterEngine, where it should pick a viewController based on surface ID, but it only has one view controller for now.

This PR makes non-trivial changes to the embedder API:

  • A new function AddRenderSurface.
  • Deprecates FlutterCompositor.present_layers_callback, adds FlutterCompositor.present_layers_view_callback.
  • Adds FlutterBackingStoreConfig.view_id.

Pre-launch Checklist

  • [ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • [ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
  • [ ] I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides.
  • [ ] I listed at least one issue that this PR fixes in the description above.
  • [ ] 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.
  • [ ] I updated/added relevant documentation (doc comments with ///).
  • [ ] I signed the CLA.
  • [ ] All existing and new tests are passing.

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

dkwingsmt avatar Sep 27 '22 20:09 dkwingsmt