* VSyncWaiter on Fuchsia will defer firing until frame start time
The common vsync waiter implementation expects this invariant to be
held.
* Add a test for vsync_waiter
* [fuchsia] Keep track of all child transforms in FlatlandExternalViewEmbedder
(cherry picked from commit 0adc38c375cbc982c481771e76b0a464ce95ee79)
* [fuchsia] HandleRemoveview cleanup
The integration test works in debug/jit mode only, and building in
`profile` and `release` modes was not working, breaking some builders.
The workaround was to disable the test.
This PR will enable release/aot mode so it will build, and unblock both
the debug-mode version of the test (tested by CI) and release mode
builds of the repo.
Due to the request to unblock, this PR does not yet build packages in
`profile` mode that will run in Fuchsia, but it should at least build
without errors. Ongoing work is in progress to also support running in
release mode.
Bug: fxb/50694
Tested: Ran Spinning Square with the JIT runner.
Some small non-destructive cleanups that should make the CF v2
Flutter runner easier to read in a follow-up PR. No logic is
changed, only naming and location.
Renames Application -> Component. This matches the filename and
Fuchsia's naming.
Moves FileInNamespaceBuffer and related utilities into a separate
file from component.cc. This will enable reusing these utilities
in the CF v2 FLutter runner. Also adds documentation for them.
Renames CreateWithContentsOfFile helper -> LoadFile since that's
what the FML_EVENT_TRACE calls it.
Removes undefined UnregisterApplication method. There are no
usages of this method in our codebase.
Move fields after methods to follow the C++ style guide.
Bug: fxb/79871
The code is still using the CFv1 implementation, so this should not affect the existing behavior.
For this version of the PR, I forked the existing DartComponentController. There were a few reasons for this:
Reduces the chance of the change breaking existing tests during Fuchsia GI.
Makes the V2 version of the DartComponentController simpler to read.
Makes it easier to switch over to using the V2 version of the DartComponentController once the migration is ready to happen (less cleanup).
The rate of changes to the DartComponentController is slow so there shouldn't be much maintenance required for the fork.
Changes to the DartRunner itself will happen in a follow-up PR - this PR only verifies that the ComponentController builds.
Relands GN and C++ changes for #27226 after rollback in #28036.
Bug: 79871
Partial re-land of #27226 (which was reverted in #28036 due to a flaky test). Only adds in the CML files for a CFv2 dart_runner without the corresponding C++ and GN changes.
response is being interpreted as `null` in dart. This results in a
MissingPluginException being thrown whenever `View.update` or
`View.dispose` is invoked.
This change returns null data in a dictionary to complete the response
in a way that is not interpreted as `null` in dart.
This reverts commit 1e9b7aed566105eec982ca0eb545139b218bc916.
Reverting in order to land revert of the gn script_executable from
python3 to vpython3, which is causing flakes on Windows.
Issue: https://github.com/flutter/flutter/issues/88719
This eliminates Vulkan support for Android. As of flutter/engine#27980
(684ad82) we are no longer running Android-Vulkan builds. This
eliminates the --enable-vulkan flag from tools/gn and any code that is
only reachable when that flag is enabled.
Note that after this patch, `shell_enable_vulkan` is always false,
however the //flutter/shell/gpu:gpu_surface_vulkan target and source
files remain since they are still used when `test_enable_vulkan` is
true, which is the case when `is_fuchsia` is true. Note that these files
are *not* built as part of a regular fuchsia build (see the
`shell_gpu_configuration` in //shell/platform/fuchsia/flutter/BUILD.gn),
but may be enabled once the Fuchsia embedder is migrated to the Embedder
API.
Also updates TODOs to dworsham, who is the committer who'll be
transitioning the Fuchsia embedder to the embedding API.
[Re-land] Add SPIR-V FragmentShader API to painting.dart
- Add a SPIR-V FragmentShader interface in painting.dart
- Create end to end pixel tests for ops supported by the SPIR-V to SkSL transpiler
- The end to end tests also test the c++ fragment shader implementation
Co-authored-by: Christopher Crawford <chriscraws@gmail.com>