The converters are still in a separate target that must be included manually. This allows targets that depend on FML but not Dart runtime not have to depend on the runtime.
Adds a test that includes this target and tests image decompression from assets. There is also a test for the standalone DartConvertor in shell_unittests but not in fml_unittests be cause FML uni-tests cannot yet launch a VM. I will work on adding fixtures for those.
If the image is a cross-context image that might be read from the GPU thread
during onscreen rendering, then it is not safe to read it concurrently from
the IO thread as part of Image.toByteData.
If the GPU thread does not have a graphics context, then fall back to
converting the image on the IO thread.
Fixes https://github.com/flutter/flutter/issues/30697
This ensures we rasterize into the canvas passed in as subclasses may reimplement AcquireFrame in different ways that don't utilize the canvas object passed in (such as Fuchsia's flutter_runner::CompositorContext).
This reverts commit 7552e9370527aae8df06b43dcb6b313d9ebdb365.
This is being reverted because it caused flutter/flutter#45098
(images don't load on iOS).
ICU #defines TRUE and FALSE but these are used as enum member name by
the Fuchsia i18n FIDL library. This #undefs TRUE and FALSE before
including the generated FIDL header.
Fixes https://github.com/flutter/flutter/issues/44817
This adds more trace events to more layer operations and enhances the
trace counters for the Fuchsia vulkan surface pool to include retained
surface counts, emit stats on recycle events that might change the
surface count, and by separating counters which measure bytes from
counters which measure counts to make analysis simpler.
* Guard against orphaned semantic objects trying to reference a dead bridge on iOS.
* Switched back to a function instead of a macro for checking the bridge.
* Fixed some formatting issues.
This reverts commit 8cb106f91850a9e9984d4bb39fc524710e51755c.
The reverted code was not the root cause of the issues with rolling
flutter into fuchsia, so adding it back.
In addition, lowering the severity of the connection error at the outset
to WARNING; since it is not a hard failure.
This is a duplicate of flutter/engine#13360 with the test switched to use the software backend instead of the GL backend.
After some debugging and testing on another GL embedder I think the issue with the test is some bug having to do with the GL implementation in the test harness specifically.
Fixesflutter/flutter#38903
The earlier assumption was that the render target would be re-materialized per frame. The render target needs its own picture recorder to be create per frame as well. When render targets are cached in the registry, an existing target will be reused. But submitting the previous frame would have discarded the recorder already. The layer tree paint would then attempt to dererence a null canvas causing a crash at runtime.
Added tests to ensure that this does not happen both with and without a custom compositor specified by the embedder. I am going to rework this code so that the external view embedders thinks of render target access on a per frame basis but that is a larger change. This smaller patchset should unblock broken builds.
Fixes b/144093523