Skip to content

[skia] Update image deserial proc#185041

Merged
kjlubick merged 9 commits into
flutter:masterfrom
kjlubick:change-imageproc
Jun 3, 2026
Merged

[skia] Update image deserial proc#185041
kjlubick merged 9 commits into
flutter:masterfrom
kjlubick:change-imageproc

Conversation

@kjlubick
Copy link
Copy Markdown
Contributor

Skia is changing the image deserial proc to take an SkData.

This updates the one usage here in Flutter.

Pre-launch Checklist

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

If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

@flutter-dashboard
Copy link
Copy Markdown

It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

@github-actions github-actions Bot added engine flutter/engine related. See also e: labels. platform-fuchsia Fuchsia code specifically labels Apr 14, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the DeserializeImageWithoutData function signature to use sk_sp<SkData> instead of raw pointers, aligning with updates in the Skia SkDeserialProcs API. These changes are implemented in the common serialization callbacks and integrated into the Fuchsia platform engine. Review feedback suggests adding a null check for the data smart pointer to prevent potential crashes and recommends naming parameters in the header file to improve readability.

Comment thread engine/src/flutter/shell/common/serialization_callbacks.cc
Comment thread engine/src/flutter/shell/common/serialization_callbacks.h
@kjlubick kjlubick enabled auto-merge April 17, 2026 19:05
@kjlubick kjlubick requested a review from jason-simmons April 17, 2026 19:05
jason-simmons
jason-simmons previously approved these changes Apr 17, 2026
@kjlubick kjlubick added the CICD Run CI/CD label Apr 22, 2026
@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 22, 2026
@jmagman jmagman added the CICD Run CI/CD label Apr 22, 2026
@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 24, 2026
@kjlubick kjlubick added the CICD Run CI/CD label Apr 27, 2026
@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 27, 2026
@gaaclarke
Copy link
Copy Markdown
Member

friendly ping @kjlubick, are you still interested in this?

@kjlubick
Copy link
Copy Markdown
Contributor Author

kjlubick commented Jun 1, 2026

Yes, but I sort of gave up landing this due to failing test pipelines that were confusing to me.

@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Jun 1, 2026
@github-actions github-actions Bot removed the CICD Run CI/CD label Jun 2, 2026
@jason-simmons jason-simmons added the CICD Run CI/CD label Jun 2, 2026
@jason-simmons jason-simmons requested a review from gaaclarke June 2, 2026 00:15
gaaclarke
gaaclarke previously approved these changes Jun 2, 2026
@gaaclarke
Copy link
Copy Markdown
Member

ci failure looks apropos, a linker error:

ld.lld: error: undefined symbol: flutter::DeserializeImageWithoutData(sk_sp<SkData>, std::__2::optional<SkAlphaType>, void*)
>>> referenced by vector.h:578 (../../../flutter/buildtools/linux-x64/clang/bin/../include/c++/v1/__vector/vector.h:578)
>>>               obj/flutter/shell/platform/fuchsia/flutter/flutter_runner_sources.engine.o:(void std::__2::__function::__policy_func<void ()>::__call_func[abi:nqn230000]<flutter_runner::Engine::WarmupSkps(fml::BasicTaskRunner*, fml::BasicTaskRunner*, std::__2::shared_ptr<flutter_runner::SurfaceProducer>, SkISize, std::__2::shared_ptr<flutter::AssetManager>, std::__2::optional<std::__2::vector<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char>>, std::__2::allocator<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char>>>> const>, std::__2::optional<std::__2::function<void (unsigned int)>>, bool)::$_0>(std::__2::__function::__policy_storage const*))
>>> referenced by vector.h:578 (../../../flutter/buildtools/linux-x64/clang/bin/../include/c++/v1/__vector/vector.h:578)
>>>               obj/flutter/shell/platform/fuchsia/flutter/flutter_runner_sources.engine.o:(void std::__2::__function::__policy_func<void ()>::__call_func[abi:nqn230000]<flutter_runner::Engine::WarmupSkps(fml::BasicTaskRunner*, fml::BasicTaskRunner*, std::__2::shared_ptr<flutter_runner::SurfaceProducer>, SkISize, std::__2::shared_ptr<flutter::AssetManager>, std::__2::optional<std::__2::vector<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char>>, std::__2::allocator<std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char>>>> const>, std::__2::optional<std::__2::function<void (unsigned int)>>, bool)::$_0>(std::__2::__function::__policy_storage const*))
clang++: error: ld.lld command failed with exit code 1 (use -v to see invocation)

@github-actions github-actions Bot removed the CICD Run CI/CD label Jun 2, 2026
@jason-simmons jason-simmons added the CICD Run CI/CD label Jun 2, 2026
@jason-simmons jason-simmons requested a review from gaaclarke June 2, 2026 22:27
Copy link
Copy Markdown
Member

@gaaclarke gaaclarke left a comment

Choose a reason for hiding this comment

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

lgtm

@kjlubick kjlubick added this pull request to the merge queue Jun 3, 2026
Merged via the queue into flutter:master with commit fa7fe22 Jun 3, 2026
201 checks passed
@kjlubick kjlubick deleted the change-imageproc branch June 3, 2026 19:19
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Jun 5, 2026
Roll Flutter from 2ba5420a7049 to 1bdf4af29076 (43 revisions)

flutter/flutter@2ba5420...1bdf4af

2026-06-05 engine-flutter-autoroll@skia.org Roll Packages from 03352b5 to 61bdbb4 (5 revisions) (flutter/flutter#187612)
2026-06-05 engine-flutter-autoroll@skia.org Roll Skia from 6e003d7f69c8 to a47a9a2c8ae5 (1 revision) (flutter/flutter#187610)
2026-06-05 engine-flutter-autoroll@skia.org Roll Dart SDK from aad8be4ce307 to 6a9a0efe66eb (10 revisions) (flutter/flutter#187609)
2026-06-05 engine-flutter-autoroll@skia.org Roll Skia from 494f1bf55f51 to 6e003d7f69c8 (2 revisions) (flutter/flutter#187607)
2026-06-05 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ZE1Jy9CtVVi-tjBAE... to N_LiSaBSUsE2LDZgG... (flutter/flutter#187597)
2026-06-05 engine-flutter-autoroll@skia.org Roll Skia from 59556fdb8c33 to 494f1bf55f51 (2 revisions) (flutter/flutter#187596)
2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 8eb107046fd5 to 59556fdb8c33 (1 revision) (flutter/flutter#187590)
2026-06-04 34871572+gmackall@users.noreply.github.com Remove `embedded_android_views_integration_test.dart` (flutter/flutter#187465)
2026-06-04 burak.karahan@mail.ru Remove Material imports from rendering editable tests (flutter/flutter#186951)
2026-06-04 jason-simmons@users.noreply.github.com [Impeller] Wait for the Vulkan device to become idle before destroying Vulkan objects in the AHBSwapchainImplVK destructor (flutter/flutter#187477)
2026-06-04 chris@bracken.jp [iOS] Eliminate unnecessary redeclaration of FlutterDisplayLink (flutter/flutter#187557)
2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 928ded2a31af to 8eb107046fd5 (1 revision) (flutter/flutter#187583)
2026-06-04 34871572+gmackall@users.noreply.github.com Log stdout in adb.dart (flutter/flutter#187531)
2026-06-04 mvincentong@gmail.com Clarify RouterDelegate popRoute bubbling (flutter/flutter#186875)
2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 928ded2a31af to 8eb107046fd5 (1 revision) (flutter/flutter#187584)
2026-06-04 1063596+reidbaker@users.noreply.github.com Add updating-android-sdk agent skill for rolling Android SDK in CIPD (flutter/flutter#187576)
2026-06-04 Rusino@users.noreply.github.com Fixing alignment issue (flutter/flutter#187518)
2026-06-04 brackenavaron@gmail.com [Material Cross Imports] Clean up Material Divider usages (flutter/flutter#187300)
2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from cecc0e0da9ae to 928ded2a31af (6 revisions) (flutter/flutter#187574)
2026-06-04 31859944+LongCatIsLooong@users.noreply.github.com Use swift demangle to verify internal Swift symbols (flutter/flutter#186835)
2026-06-04 1063596+reidbaker@users.noreply.github.com Add android 37 platform and build tools to script for android cipd bundle creation (flutter/flutter#187571)
2026-06-04 jason-simmons@users.noreply.github.com [Impeller] Increase the precision of the IPSampleWithTileModeOES coords parameter to match the input coordinates in the tiled_texture_fill_external shader (flutter/flutter#187545)
2026-06-04 engine-flutter-autoroll@skia.org Roll Packages from b11504f to 03352b5 (4 revisions) (flutter/flutter#187569)
2026-06-04 iinozemtsev@google.com Roll Dart SDK to Dart 3.13 beta2 (flutter/flutter#187555)
2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 611e3f8ceb93 to cecc0e0da9ae (1 revision) (flutter/flutter#187562)
2026-06-04 6655696+guidezpl@users.noreply.github.com Add step to bootstrap Flutter tool in coverage workflow (flutter/flutter#187199)
2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 4fdb859c8da7 to 611e3f8ceb93 (4 revisions) (flutter/flutter#187554)
2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 0020aae33f63 to 4fdb859c8da7 (2 revisions) (flutter/flutter#187552)
2026-06-04 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ap7MhLX4TdpWRrLS_... to ZE1Jy9CtVVi-tjBAE... (flutter/flutter#187550)
2026-06-04 stuartmorgan@google.com Add vector_math to package issue template (flutter/flutter#187536)
2026-06-04 jason-simmons@users.noreply.github.com Manual roll Dart SDK from d39850bf4a01 to 3b70b98fa7c0 (flutter/flutter#187519)
2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from d625048c853a to 0020aae33f63 (20 revisions) (flutter/flutter#187539)
2026-06-04 smille2003@yandex.ru [Impeller][Windows] fix black screen on OpenGL fallback (flutter/flutter#187288)
2026-06-04 97480502+b-luk@users.noreply.github.com Fix unintentionally joined path contours (flutter/flutter#187522)
2026-06-03 matt.boetger@gmail.com fix: resolve issue #177379 by using lazy buildDirectory.dir() API in build.gradle template (flutter/flutter#187127)
2026-06-03 34871572+gmackall@users.noreply.github.com Add a skill for flake analysis (flutter/flutter#187530)
2026-06-03 30870216+gaaclarke@users.noreply.github.com adds linux impeller project flag (flutter/flutter#186982)
2026-06-03 codedoctor@linwood.dev Add support for stylus buttons (flutter/flutter#183369)
2026-06-03 46920873+gabrimatic@users.noreply.github.com Prevent Cubic transform from looping on out-of-range input (flutter/flutter#185875)
2026-06-03 bdero@google.com [Impeller] Reland: Allow attaching specific texture mip levels and slices (flutter/flutter#187470)
2026-06-03 kjlubick@users.noreply.github.com [skia] Update image deserial proc (flutter/flutter#185041)
2026-06-03 112751483+shivanshu877@users.noreply.github.com docs: update Impeller advanced blend docs for framebuffer fetch (flutter/flutter#185457)
2026-06-03 ahmedsameha1@gmail.com Handle#6537 fifth grouped tests (flutter/flutter#183720)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD engine flutter/engine related. See also e: labels. platform-fuchsia Fuchsia code specifically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants