-
Notifications
You must be signed in to change notification settings - Fork 6k
Conversation
2aeb496
to
b466828
Compare
I suppose you meant this #17356 |
@MrBirb Yes indeed, thanks! |
b466828
to
6e88015
Compare
@chinmaygarde The build is passing other than tree, so I think this is ready for a first pass. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great. I could find no major issues. Just minor nits.
|
||
/// Keeps a priority-ordered registry of image generator builders to be used | ||
/// when decoding images. This object must be created, accessed, and collected | ||
/// on the UI thread (typically the engine or its runtime controller). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This bit of clarification on threading is great. Thanks.
6e88015
to
e56ad99
Compare
@@ -176,6 +176,12 @@ class DartIsolate : public UIDartState { | |||
/// @param[in] io_manager The i/o manager. | |||
/// @param[in] unref_queue The Skia unref queue. | |||
/// @param[in] image_decoder The image decoder. | |||
/// @param[in] image_generator_registry Cascading registry of image |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Every time we add a new parameter to this my soul dies a little bit.
If you have any interest, it would be nice to resolve flutter/flutter#71620 so we don't have to keep updating the 10 or however many files this ends up touching every time we do this :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yeah, I agree this would be nice to make passing around all this shared state simpler. I'd prefer to do it in a simpler follow-up PR if you don't mind.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, definitely a separate PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall seems to make sense, thanks for getting this moving!
042732b
to
5d648fc
Compare
469453e
to
8667f36
Compare
8667f36
to
3063a98
Compare
This is ready for another review pass. (cc @chinmaygarde & @dnfield) |
* 98068f1 fuchsia: Only send different ViewProperties (flutter/engine#26170) * 5e487ba Roll Skia from c1f641104531 to 469531234936 (4 revisions) (flutter/engine#26197) * 4cab492 Add image generator registry (flutter/engine#25987) * c753c24 Roll Fuchsia Linux SDK from l6XmTSLnt... to AUWVgDkx6... (flutter/engine#26201) * 75a7812 Reland outputs a json version of the package manifest. (flutter/engine#26163) * b5dc598 Roll Skia from 469531234936 to 5b38536d76ae (7 revisions) (flutter/engine#26202) * fb91366 [icu] Upgrade ICU to 69.1, the same commit used by Chromimum latest (flutter/engine#26200) * 62e0951 Prepare to move --delete-tostring-package-uri option to Dart SDK (flutter/engine#26196) * 156c2be Web ImageFilter.matrix support (flutter/engine#25982) * c30de25 Roll Skia from 5b38536d76ae to 2fed9f62d29a (7 revisions) (flutter/engine#26206) * 7ef42f1 Roll Fuchsia Mac SDK from KmSY84b_E... to 7WNQRHsHN... (flutter/engine#26207) * 8bba964 Add more diagrams for deferred components docs, fix alignment of existing one (flutter/engine#26209) * 391e22d Roll Dart SDK from 67be110b5ba8 to 510f26486328 (3 revisions) (flutter/engine#26212) * fa62ce0 Roll Skia from 2fed9f62d29a to e8cd0a54041e (2 revisions) (flutter/engine#26213) * 2029cba Roll Skia from e8cd0a54041e to 3d854bade6de (4 revisions) (flutter/engine#26216) * 9cd3c64 Roll Fuchsia Linux SDK from AUWVgDkx6... to boele8geO... (flutter/engine#26217) * 6ceab15 Roll Dart SDK from 510f26486328 to 13e329e614f2 (1 revision) (flutter/engine#26218) * f90698a Roll Fuchsia Mac SDK from 7WNQRHsHN... to F5TX4MaEg... (flutter/engine#26220) * b9d03fe Roll Skia from 3d854bade6de to 66125eac158d (1 revision) (flutter/engine#26221) * 849ce7e Roll Dart SDK from 13e329e614f2 to 2eea032403e2 (1 revision) (flutter/engine#26222) * ca89d69 Roll Skia from 66125eac158d to 5696bcd0f7f8 (1 revision) (flutter/engine#26223) * db7a3dc fuchsia: Fix occlusion_hint handling (flutter/engine#26208) * b875d99 Roll Skia from 5696bcd0f7f8 to bdfd77616177 (5 revisions) (flutter/engine#26224) * b67caca Roll Skia from bdfd77616177 to fb8d20befa8f (1 revision) (flutter/engine#26225) * 2398dea Revert Dart SDK to 67be110b5ba8fc84af5e7136389e52a13ccbc9d5 (flutter/engine#26232)
This CL has the first part of a refactor for #17356 , which adds an engine registry for installing new
ImageGenerator
s. In order to allow for optional support for subpixel image decoding, a Flutter-specific abstraction is needed (asSkImageGenerator
does not offer an interface that can support this (whereasSkCodecImageGenerator
does -- but platform-specific codecs and embedder-installed codecs won't require wrappingSkCodec
s).See also this relevant design doc.
Follow-up work will be to refactor
ImageDescriptor
to lookup generators from this registry, and to allow embedder writers to install codecs through the embedder API.I'm still learning the ropes, so let me know if any of this is feels somewhat bananas and I'll be happy to address @chinmaygarde.
Pre-launch Checklist
writing and running engine tests.
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.