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

[macOS] Merge FlutterRenderer and implementation #37696

Merged
merged 1 commit into from
Nov 17, 2022

Conversation

cbracken
Copy link
Member

Previously FlutterRenderer was a protocol with two implementing classes: FlutterOpenGLRenderer and FlutterMetalRenderer. Now that we've eliminated the macOS OpenGL backend, this abstraction no longer makes sense. This replaces the existing FlutterRenderer protocol with a concrete implementation class, consisting of the Metal implementation.

Issue: flutter/flutter#108304
Issue: flutter/flutter#114445

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.

@cbracken cbracken force-pushed the merge-renderer branch 2 times, most recently from de926f6 to 66420de Compare November 17, 2022 01:05
@cbracken cbracken requested review from dkwingsmt and knopp November 17, 2022 01:07
@cbracken
Copy link
Member Author

cbracken commented Nov 17, 2022

There's an argument to be made that we could keep the renderer protocol separate from the implementation, but given that (a) there's only one implementation and (b) this is an internal class, I'm not convinced there's much advantage to keeping them separate (roughly for the usual YAGNI principle reasons) but happy to hear arguments otherwise :)

Previously FlutterRenderer was a protocol with two implementing classes:
FlutterOpenGLRenderer and FlutterMetalRenderer. Now that we've
eliminated the macOS OpenGL backend, this abstraction no longer makes
sense. This replaces the existing FlutterRenderer protocol with a
concrete implementation class, consisting of the Metal implementation.

Issue: flutter/flutter#108304
Issue: flutter/flutter#114445
@cbracken cbracken merged commit 487ee66 into flutter:main Nov 17, 2022
@cbracken cbracken deleted the merge-renderer branch November 17, 2022 17:28
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 17, 2022
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Nov 17, 2022
sourcegraph-bot pushed a commit to sgtest/megarepo that referenced this pull request Nov 17, 2022
…lutter/engine#37696) (#115581)

Commit: a5a368cbfb47b4b011aa1e2f2a22d663b3d80036
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Nov 18, 2022
* 70b7445 Reland Added Badge.count constructor (flutter/flutter#115566)

* 31f8631 fa7e1965e [Impeller] Fix glyph atlas uploads and renders (flutter/engine#37691) (flutter/flutter#115556)

* a1ea383 Label should always be aligned with text in filled input decoration (flutter/flutter#115540)

* c2b2950 Add selection feedback for both selection area and text field (flutter/flutter#115373)

* 0344407 Rev package:pub_semver to the latest version (flutter/flutter#115570)

* ac06523 Add Material 3 support for `Slider` - Part 2  (flutter/flutter#114624)

* b181d07 a2fa4e9 cirrus to luci (flutter/plugins#6711) (flutter/flutter#115573)

* e1efd0d b241e69fd [ui] reland add docs to FragmentShader (flutter/engine#37699) (flutter/flutter#115578)

* efb0694 Remove unused flutter_attach_test_fuchsia (flutter/flutter#115515)

* a5a368c 487ee66f6 [macOS] Merge FlutterRenderer and implementation (flutter/engine#37696) (flutter/flutter#115581)

* 4ff7fc6 Fixes a bug where dragging a collapsed handle in TextField does not vibrate (flutter/flutter#115586)

* 20be280 da9534ea6 [macOS] Consolidate external texture classes (flutter/engine#37703) (flutter/flutter#115585)

* 8a7102e Roll Flutter Engine from da9534ea6534 to d955a72c5604 (3 revisions) (flutter/flutter#115589)

* e1903a2 Roll Flutter Engine from d955a72c5604 to 1e1a4ab3c993 (4 revisions) (flutter/flutter#115592)

* 78390a0 Roll Flutter Engine from 1e1a4ab3c993 to b65c24ce621a (2 revisions) (flutter/flutter#115598)

* 75a0a72 [devicelab] measure entire release folder size, zipped (flutter/flutter#115597)

* 59a01b6 Roll Flutter Engine from b65c24ce621a to 49b52db603cc (3 revisions) (flutter/flutter#115606)

* ec03f1c Revert "[devicelab] measure entire release folder size, zipped (#115597)" (flutter/flutter#115609)

* 710e708 Improve showSnackBar documentation (flutter/flutter#114612)

* 915c3de Roll Flutter Engine from 49b52db603cc to 80b25a302b4c (2 revisions) (flutter/flutter#115608)

* 450f162 Roll Flutter Engine from 80b25a302b4c to e812122e4060 (2 revisions) (flutter/flutter#115614)

* 0b33b85 [devicelab] measure entire release folder size, zipped (flutter/flutter#115612)

* 9379c32 Revert "[devicelab] measure entire release folder size, zipped (#115612)" (flutter/flutter#115617)

* b746557 f27666d2f [macOS] Merge FlutterBackingStore implementations (flutter/engine#37730) (flutter/flutter#115616)

* 5487a7d Roll Flutter Engine from f27666d2f4da to 39f546585b0b (2 revisions) (flutter/flutter#115618)

* f261c2f update comments (flutter/flutter#115603)

* 9c9f781 04aea3c47 iOS PlatformView only sets a maskView when necessary (flutter/engine#37434) (flutter/flutter#115621)

* 6926960 4ca2c1d78 Roll Skia from 55f654bf5cff to 9d56e506b4df (13 revisions) (flutter/engine#37739) (flutter/flutter#115625)

* de4c0b1 Use `double.isNaN` instead of `... == double.nan` (which is always false) (flutter/flutter#115424)

* a655f85 a62736769 Roll Skia from 9d56e506b4df to d693b4b9fe5e (5 revisions) (flutter/engine#37741) (flutter/flutter#115640)

* 18c8727 f092cd826 Roll Fuchsia Mac SDK from SVtX810D2U_ZgBcpx... to tklUfTsSOVKk49tYq... (flutter/engine#37742) (flutter/flutter#115643)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants