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.
Ninja runs `action` scripts using the default python interpretter, and
most flutter build scripts that use python currently require python2. In
order to support python3 scripts as well, the `python3_action` invokes a
wrapper python2-based script via GN `action` target, and the wrapper
invokes the python3 interpretter with the given script.
This new target is required to support flutter/engine#26880, but is
broken out to a separate PR (by request) to support other more immediate
use cases.