131 Commits

Author SHA1 Message Date
Yuqian Li
9a244b2152
Revert "Revert "Add preliminary Windows arm64 plumbing (#20156)" (#20236)" (#20243)
This reverts commit 4126c0662296f977f5d02a0b3a5a27dea6c4ce50.

The LUCI recipe issue should have already been fixed by @christopherfujino 

Try to trigger the LUCI tests with this as the "retry" button is somehow disabled for https://ci.chromium.org/p/flutter/builders/prod/Linux%20Fuchsia/4755 even if I logged in.
2020-08-04 14:08:47 -07:00
Yuqian Li
4126c06622
Revert "Add preliminary Windows arm64 plumbing (#20156)" (#20236)
This reverts commit 00e75747e3cc33efcb3a8f7e4e14e9aadeed13b3.

Try to fix the LUCI Fuchsia build.
2020-08-04 11:35:21 -07:00
stuartmorgan
00e75747e3
Add preliminary Windows arm64 plumbing (#20156)
- Rolls buildroot to pick up
  https://github.com/flutter/buildroot/pull/389
- Adds support to the gn wrapper for setting the traget CPU on Windows

Attempting to generate Windows arm64 GN files will currently fail, due
to lack of arm64 support for an OpenGL test support target, but this
sets the foundation, and makes experimentation easier.

Part of https://github.com/flutter/flutter/issues/62597
2020-08-04 09:28:14 -07:00
Siva
406891841f
Manual roll of Dart 40fd1c456e...7e8348f4ce (#20125)
* Manual roll of Dart 40fd1c456e...7e8348f4ce

dart-lang/sdk@7e8348f4ce [dart2js] Assume `isPotentialSubtype` is always true.
dart-lang/sdk@5671730c5a [dart2js] Pass type arguments to callable properties even with --omit-implicit-checks.
dart-lang/sdk@4c74ebb367 [benchmark] Add dartdevc-null targets.
dart-lang/sdk@56708696a9 [vm/nnbd/bytecode] Distinguish function types with different nullabilities in bytecode generator
dart-lang/sdk@d2f7039e9c [dart:io] Parse scoped IPv6 in constructor of InternetAddress
dart-lang/sdk@c2d28d1569 Rename Null Safety tests.
dart-lang/sdk@4d3ec06277 Add more data and performance operations for Cider.
dart-lang/sdk@3103d859e4 Remove unused TypeSystemImpl.mostSpecificTypeArgument().
dart-lang/sdk@6d9a4f16dd Issue 42757. Implement null spread element typing with null-safety.
dart-lang/sdk@8c316a99de Remove unnecessary null checks.
dart-lang/sdk@6c9b885e57 Remove StrongModeCode.INVALID_PARAMETER_DECLARATION; it's redundant
dart-lang/sdk@b98eb386ea [ddc] Use prebuilt_dart_action to build js
dart-lang/sdk@8796382840 Analyzer: Move invalid_super_invocation to compile-time error
dart-lang/sdk@cece303eb4 Check diagnostics in List/Map/SetLiteralTest(s).
dart-lang/sdk@cc519b9a03 Test that during partial resolution for Cider we don't resolve some nodes.
dart-lang/sdk@4ea6d6e130 [tests/ffi] Re-enable commented out tests
dart-lang/sdk@2225b6f472 Migration: fix handling of async functions that return FutureOr.
dart-lang/sdk@f907e561c9 Migration: never produce a type of the form `FutureOr<T?>?`.
dart-lang/sdk@69ba6e5f80 Make FileSystemEntity.absolutePath understand more Windows paths.
dart-lang/sdk@202e32afeb [vm] Native API: Introduce Dart_FinalizableHandle
dart-lang/sdk@debb4dddea [co19] Language/Types and Language/Variables tests enabled
dart-lang/sdk@3661464297 [infra] Update checked-in SDKs to 2.10.0-0.0.dev
dart-lang/sdk@b8dc7627a9 [cfe] Handle NullCheck in constant evaluation

* Switch Android windows builds to also use clang.

* Bump buildroot version to fe3b46e595e7ce1350e11aa0c90365976051f4a3

* Update license.
2020-07-29 20:52:06 -07:00
Jonah Williams
d13861da2b
Remove simulator build mode restrictions (#18898) 2020-06-08 12:33:02 -07:00
Dan Field
fa0e464a71
use clang on Windows (#17407)
* use clang on Windows for everything but Android

This pulls the Clang build from Chromium. We should eventually switch to use the Fuchsia toolchain when it is available.
2020-04-29 09:38:15 -07:00
stuartmorgan
e6a2534b63
Add a gn flag to disable desktop embeddings (#17708)
Desktop embedding dependencies can trigger gn-generation-time
requiremenets; e.g., the Linux embeddings have pkg-config dependencies.
This can be problematic in some build environments, such as building
flutter_engine.so with a custom sysroot where those higher-level
dependencies aren't available.

This flag allows generating build files that don't have those
dependencies.
2020-04-14 17:48:18 -07:00
stuartmorgan
dfe13788ed
Adjust the GLFW build options (#17704)
- Adds an explicit option for not building the GLFW embedding.
- Disables GLFW by default on Windows, where it's no longer the
  uploaded embedding.
- Moves the X11 pkg-config, which is only used by the GLFW embedding,
  behind the GLFW build flag.
2020-04-14 12:45:21 -07:00
Chinmay Garde
f58967fbd3
Re-land "Enable unified OpenGL/Metal builds." (#17230) 2020-03-20 15:56:05 -07:00
Chinmay Garde
fd60ddf751
Revert "Enable unified OpenGL/Metal builds. (#17217)" (#17218)
This reverts commit 8581937c49d6b63be61d9596012d29293a9271d3.
2020-03-19 20:38:22 -07:00
Chinmay Garde
8581937c49
Enable unified OpenGL/Metal builds. (#17217) 2020-03-19 19:46:02 -07:00
Chinmay Garde
b1af234b74
Disable the use of the API_AVAILABLE macro in Skia in iOS release builds. (#17213)
The use of this macro in C++ translation units leads to the symbol visibility
being switched to default instead of hidden. This only happens in bitcode
enabled builds. A toolchain upgrade will be necessary to undo this workaround.
2020-03-19 18:13:40 -07:00
Chinmay Garde
758de2d05d
Revert "Add support for the Metal backend on all iOS builds." (#17197)
This reverts commit 4196207ee70e1f35557441ba65fa11d14e3a47f0.
2020-03-18 11:29:47 -07:00
Chinmay Garde
4196207ee7
Reland "Add support for the Metal backend on all iOS builds." (#17191) 2020-03-17 22:31:01 -07:00
Chinmay Garde
ec2c624f95
Revert "Add support for the Metal backend on all iOS builds. (#17080)" (#17088)
This reverts commit e8e0e0b51b47017c950cdc2465ef92e66194c7a7.
2020-03-10 23:32:18 -07:00
Chinmay Garde
e8e0e0b51b
Add support for the Metal backend on all iOS builds. (#17080) 2020-03-10 19:31:02 -07:00
Jason Simmons
cc0e21b5d2
[SkParagraph] Set the skia_use_icu GN flag required to build SkParagraph (#16840)
This flag is disabled by default on iOS targets.
2020-02-28 09:33:00 -08:00
Kaushik Iska
201cfae8c7
[vulkan] Bundle vulkan validation layer so files (#13930)
Enable vulkan validation for Fuchsia in debug mode as well.
2019-11-25 16:09:56 -08:00
Chinmay Garde
ed30d77ab9 Setup a Metal test surface and add a new unit-test target that tests the testing utilities.
`//flutter/testing` now contains a lot of utilities used by other test targets.
This includes stuff like working with render targets that use either OpenGL or
Metal, fixtures for interacting with the Dart VM, test assertion predicates,
etc.. However, these utilities themselves are not tested as part of a standalone
test suite. Instead, only the test targets that include it exercise these
utilities. Since these are no longer trivial, a new test target has been added
that tests the testing utilities directly.
2019-11-22 23:03:34 -08:00
sjindel-google
d9080029af
Remove use of the blobs snapshot format from unittests (#12563)
* Remove uses of the "blobs" snapshot format in Engine tests.

* Comments

* Rebasing against updated ELF loader API.
2019-10-10 14:03:42 +02:00
Chinmay Garde
ed1557f82d
Don’t bump iOS deployment target for Metal builds. (#13051)
Fixed by https://skia-review.googlesource.com/c/skia/+/245957
Fixes https://github.com/flutter/flutter/issues/41807
2019-10-09 20:37:38 -07:00
Chinmay Garde
b785ab902a
Update buildroot to pull in ubsan updates. (#12821) 2019-10-05 19:55:07 -07:00
Chinmay Garde
348108ec74
Enable sanitizer build variants. (#12816) 2019-10-04 17:32:00 -07:00
Jonah Williams
6f5eb1332f
Add support for JIT release mode (#12446) 2019-09-27 11:20:54 -07:00
Chinmay Garde
72ca6035b7
Roll buildroot and remove toolchain prefix. (#12324) 2019-09-23 11:29:13 -07:00
Dan Field
0cfee1f677
Bitcode only for release (#11520) 2019-08-27 11:25:59 -07:00
xster
fd25f80a1d
make it possible to disable debug symbols stripping (#11265) 2019-08-26 16:53:00 -07:00
Dan Field
eb92b09568
Roll buildroot and update gn script for bitcode_marker (#11449) 2019-08-26 12:58:14 -07:00
Chinmay Garde
81f1819213
Remove ability to override mac_sdk_path in flutter/tools/gn (#11013)
This was only required to use an older i386 enabled Mac SDK with a newer version of Xcode for gen_snapshot. This limitation has been patched already.
2019-08-15 16:33:12 -07:00
James Clarke
ff484d4f69 [Windows] Alternative Windows shell platform implementation (#9835)
Start work on flutter/flutter#30726 by adding an alternative win32 shell platform implementation for Windows that is not based on GLFW and that uses LIBANGLE for rendering and native win32 windowing and input. This change does not replace the GLFW implementation but rather runs side by side with it producing a secondary flutter_windows_win32.dll artifact. The following items must be added to attain parity with the GLFW implementation:
- Custom task scheduling
- Support for keyboard modifier keys
- Async texture uploads
- Correct high DPI handling on Windows versions < 1703
and will be added in subsequent changes.
2019-08-14 15:52:52 -07:00
sjindel-google
1c3022372d
Don't use DBC for hot-reload on iOS. (#10645) 2019-08-06 01:17:06 +02:00
Liam Appelbe
9fca3c7449
Use simarm_x64 when targeting arm (#10010)
* GN changes for simarm_x64

* GN changes for simarm_x64

* Cleanup a bit

* Guard simarm_x64 behind a flag

* Remove flag

* Remove Mac specificity
2019-08-01 10:58:12 -07:00
Kaushik Iska
a6a7c85473
[fuchsia] Add arm64 builds for flutter and dart runner (#10260) 2019-07-30 11:43:09 -07:00
Kaushik Iska
268533e86a
[fuchsia] Use GatherArtifacts to create the requisite dir structure (#10004)
* [fuchsia] Create command to gather fuchsia artifacts

- We will use this gathered artifacts to create the
  directory tree that we will package to a far.

- Currently this is not used anywhere, we will use it
  as such:
  	1. Build all the fuchsia artifacts
	2. Gather the artifacts to a directory
	3. Use `pm` to package up the directory into a far.

* reformat files

* commit chromium style

* [fuchsia] Use the directory format that fuchsia expects

* Farify the artifacts

* Create far archives and have tmp artifact dir
2019-07-22 13:59:46 -07:00
Kaushik Iska
ad5ae0f2d5
Update Buildroot Version (#9927)
This will upload the fuchsia artifacts to CIPD
2019-07-18 14:50:27 -07:00
Dan Field
f348270047
Simplify buildtools (#9875)
Move GN, only get clang
2019-07-17 11:35:58 -07:00
Dan Field
9c54621fdd
bitcode (#9823) 2019-07-15 12:28:10 -07:00
Jason Simmons
2cd650d269
Minimal integration with the Skia text shaper module (#9556)
This converts the libtxt Paragraph and ParagraphBuilder classes into
interfaces with Minikin and SkShaper/SkParagraph based implementations.

Use the --enable-skshaper GN flag to select the Skia shaper implementation
at build time.
2019-07-10 14:13:55 -07:00
Jason Simmons
f775f5e4d6
Re-enable the Wuffs GIF decoder (#9466)
Fixes https://github.com/flutter/flutter/issues/23838
2019-07-10 14:07:54 -07:00
Chinmay Garde
8ac7cbddac
Fix warning about settings unavailable GN arg build_glfw_shell (#9642)
This is only available on Darwin & Linux host targets. On Android target builds, the logic amounted to says “Don’t build GLFW on Android targets”. Since GLFW on Android does not make sense and the target does not exist, GN was generating a warning.
2019-07-01 16:58:00 -07:00
Chinmay Garde
4e344e6cd2
Wire up custom event loop interop for the GLFW embedder. (#9089) 2019-06-29 19:35:22 -07:00
Chinmay Garde
ece4f59377
Update Metal backend to account for Skia updates. (#9383)
Also makes it so that folks don't have to patch the buildroot manually when
building for Metal.
2019-06-19 15:24:26 -07:00
Chinmay Garde
7bb5b9aea5
Wire up Swiftshader based OpenGL ES unit-tests on hosts. (#9264)
Currently, all our host unit-tests that have rendering concerns use the software backend because of OpenGL ES availability and stability issues on the various platforms where we run host tests. Unfortunately, entire subsystems are disabled (and not tested) when rendering with the software backend. This patch pulls in SwiftShader and via pending patches in the buildroot, configures the host unit-tests to optionally use OpenGL ES in a stable manner without relying on the OpenGL drivers being present (and functional).

I have wired up the embedder test fixture in this patch to use the SwiftShader based OpenGL ES driver. I will update the shell and runtime unittests in a subsequent patch as well. The on and offscreen surfaces are configured as 1x1 pbuffer surface because we should be able to write pixel tests using OpenGL directly wihout having to deal with surfaces.
2019-06-12 12:32:09 -07:00
Chinmay Garde
e8ee6acf8d
[engine] Fix builds targeting Android from a Windows host gen_snapshot (#9190) 2019-06-07 22:46:29 -07:00
KyleWong
867120c0c7 Better help message. (#9097) 2019-05-28 12:33:30 -07:00
Chinmay Garde
e27c6e890a
Forward custom IDE flags to GN. (#9023) 2019-05-28 12:21:58 -07:00
Chris Bracken
0f1ff3bdb3
Correct typos, adopt US spellings (#9081)
Corects a bnuch of typeos throughout teh engien codebsae. Also makes
a couple minor Commonwealth -> US spelling adjustments for consistency
with the rest of Flutter's codebase.

Made use of `misspell` tool:
https://github.com/client9/misspell
2019-05-25 13:14:46 -07:00
Jason Simmons
424940f171
Add support for the Fontconfig-based Skia font manager (#8977) 2019-05-16 15:22:22 -07:00
Chinmay Garde
5526884e78
Wire up the Skia Metal backend on iOS. (#8936) 2019-05-11 15:21:26 -07:00
Chinmay Garde
f6e6d39860
Wire up Fuchsia SDK related updated for shell dependencies. #8869
This does not actually import the runners into the engine. It only sets up the targets so they need no modifications are necessary when the migration is done. The engine has been verified to build in both buildroots.
2019-05-06 18:01:59 -07:00