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.
The multiprocessing package relies on the win32 `WaitForMultipleObjects`
call, which supports waiting on a maximum of MAXIMUM_WAIT_OBJECTS
(defined by Windows to be 64) handles, processes in this case. To avoid
hitting this, we limit ourselves to 60 handles (since there are a couple
extra processes launched for the queue reader and thread wakeup reader).
When left unspecified, the multiprocessing module defaults this value to
os.cpu_count(), so this error is triggered only on machines with > 60
cores.
See: https://bugs.python.org/issue2690
Bug: https://github.com/flutter/flutter/issues/90085
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.
In the upcoming version of harfbuzz (3.0.0) the subsetting api is being declared stable. With this there are some changes to the API. This prepares flutter to start automatically using the new API once harfbuzz 3.0.0 is rolled into flutter.
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
When debugging gn invocations, it's useful to be able to run the
underlying `gn` tool in verbose mode. This adds a `--verbose` flag that
passes the `-v` flag on the underlying `gn` invocation.
We believe this will reduce flakiness on the Windows bots by limiting
the interaction of the global Python install and the self-contained
hermetic vpython that ships with depot_tools.
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>
The script has not been ported to Python 3. The environment required by
Python 3 (e.g. PYTHONHOME) may conflict with the environment expected by
the Python 2 runtime linked into the version of GDB launched by the script.
Migrates all `#!/usr/bin/env python` hashbang lines to use python3.
Also updates the licence tool to treat python3 scripts on par with
python 2 scripts.
Issue: https://github.com/flutter/flutter/issues/83043
* Reland "Use a Pbuffer surface when the onscreen surface is not available for snapshotting on Android (#27141)" (#27607)"
This reverts commit 78663924741a29aeca10648015e39db6fbd28be4.
* Do not let gradle download SDK deps
* Extract the prebuilt Dart SDK to a temp directory and then move it after the extraction completes
This ensures that the GN script will not see an invalid Dart SDK at the
expected path if the extract fails.
* Add os_arch to temp extraction path
Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
This PR also wraps up the soft transition for #27417.
Because some unit tests depend on the real Scenic which isn't hermetic, `flutter_runner_tests` and `flutter_runner_scenic_tests` aren't currently compatible with cfv2.
This will change once a FakeScenic is created (https://fxbug.dev/79873).
See https://fxbug.dev/79691.