Fixes https://github.com/flutter/flutter/issues/160593
Primitive Restart cannot be used on some (All?) Adreno's because it
causes a dramatic performance regression. Opt out and use the GLES
strategy. Refactors the batch submit command buffer capability into
workarounds_vk
This is no longer working after the monorepo merge:
https://github.com/flutter/flutter/issues/160670.
That issue tracks instead teaching the `Linux ci_yaml flutter roller` to
roll both sets of configurations.
Changes since last roll:
```
fc5db8ea927 Version 3.7.0-267.0.dev
601e85438f3 [tests] Cascade tests for static member and constructor enum shorthands.
4093bdaf5a8 [vm] Change try-catch IL representation.
b3ab7e274c5 Elements. Migrate lib/src/generated/ffi_verifier.dart
6e5fb8baa16 [dart2wasm] Add support for dynamic module options.
7bea7d185d4 [dart2wasm] Add indirection for struct initialization.
```
Fixes https://github.com/flutter/flutter/issues/160480
Both The Impeller and Skia variant of the OES texture rendering use the
same shared code path, so the Impeller code must match the weird 1x1
texture behavior of Skia. In addition, we have to add back the
TiledTextureContents support, since we need to render a texture with a
transform. I had previously tested this but neglected to force the
SurfaceTexture path, so I only tested the ImageReader path which does
not use a transform.
Changes since last roll:
```
85569ab5b39 Version 3.7.0-266.0.dev
8c1fa6d05b8 [tfa,aot,dart2wasm] Allow tree-shaking of extension type members independently of their tear-offs
5078a20a6d5 [cfe] Use OffsetMap for BodyBuilder.finishFields
a6b0fced839 [tfa,aot,dart2wasm] Retain libraries which only have extensions and extension types
4bcb4b10443 (tag: 3.7.0-265.0.dev) Version 3.7.0-265.0.dev
982b9fad444 [vm] Turn on entry point checking in JIT mode.
04530d578ff Roll dart_style 3.0.1 into the SDK.
c2abea31557 [deps] Roll dart-lang/native
3b056e1d500 [dart2wasm] Fix deferred loading tests on optimized configs.
ca668b701c3 (tag: 3.7.0-264.0.dev) Version 3.7.0-264.0.dev
54af9b3a39a (tag: 3.7.0-263.0.dev) Version 3.7.0-263.0.dev
72acd9d0ff3 [dart:svg] Add value->newLength parameter name change to templates
57c4da6911d Make Driver.instrumentationService private and final
f934e392f2d analyzer: Remove unnecessary Driver.httpServer
c5c3544b71f Fix Fuchsia build error.
2f857baba7e [dart2js] Make an check.
b3e7e027380 (tag: 3.7.0-262.0.dev) Version 3.7.0-262.0.dev
08252fc9e91 [dartdev] Use VmInteropHandler for invoking sub commands
96c4e4c81f8 [dart2wasm] Use field type instead of global type for static field type.
e3e7ca846a8 [gardening] Fix service/uri_mappings_lookup_test.
580107f8474 Migrate generic_type_alias.test
0a5a8f17af8 [vm] Remove BaseIsolate as it serves no purposes anymore.
9820487a3c4 [analyzer] Support enclosingFragments that are local variables
dbf60082974 DAS: Support monospaced text (eg code snippets) in generated doc comments
59499d362a2 [dart2wasm] Add support for declaring functions as module elements.
a0e1bce4b27 (tag: 3.7.0-261.0.dev) Version 3.7.0-261.0.dev
96fbc264ca1 [dart2wasm] Add indirection for dispatch table calls.
d261ded4c72 Bump tools to febccb92d228e678196aa90c109c708ed7ad6ea8
54d62b478d8 [analysis_server] Move Type Hierarchy off ElementLocation to its own internal uri/name encoding
b67f61a66c3 [tests] Additional tests for ?? with enum shorthands.
e1be04c4704 Implement element and fragment for generic function types
a9c3991a7a6 [analysis_server] Migrate LSP Find References to new element model
11904ed3871 [analyzer] Add LinterContext.currentUnit and use it for content in eol_at_end_of_file
38bce3f507d Elements. Migrate test/generated/simple_resolver_test.dart
34cf29701be Elements. Migrate test/src/dart/analysis/search_test.dart
e70a91d8e38 [analyzer/linter] Simplify implementation of rule State
ee5c4b00840 Roll BoringSSL from 57f525e425a9 to ee0c13ad1808 (22 revisions)
42f0e9aa15b analyzer: Report bad type arg on implicit call
8cc449ac8c1 [dart2wasm] Add utils for pragma reading and updating.
04d70b9fb40 analyzer: Make ResolutionVisitor._libraryElement final
d0f34d918f2 [dynamic_modules] Fix multiple_classes/dynamic_interfaces.yaml for vm.
3fba5fb4633 DAS: Seal TypeDecl for simpler switches
946f3287b46 [dart2wasm] Clean up some dead or unnecessary code.
231b463e8fc Roll Fuchsia SDK from 26.20241210.5.1 to 26.20241211.4.1
4e4fec1830b DAS: Correct some broken comment references
69fef4b123c Elements. Use impl types in a few places to avoid casts.
```
These tests are slightly flakey due to the macos cache issue. These
aren't actually tests, instead the prepopulate an RBE cache - so the
failure shouldn't close the tree, because cold caches isn't a failure
state (its just unfortunate).
This splits the web engine into a build phase and a test phase. This
requires a few changes:
* Modify the `generate_builder_json.dart` command to produce two
separate json builder files, `linux_web_engine_build.json` and
`linux_web_engine_test.json`. The former is left as the existing builder
with `release_build: true` (which will run in the merge queue) and the
latter is added as a new builder that runs in the second CI phase.
* Change the `copy_artifacts_step.dart` to pull built artifacts from the
GCS bucket when on LUCI, instead of relying on the CAS bucket. This is
necessary to do the tests separately from the build.
* Move the `felt test --copy-artifacts` command from the build steps to
the test steps, since the test steps themselves need to pull from GCS
instead of relying on the artifacts being populated by CAS.
It takes 30 minutes while all other bots are done in 10-20 minutes. The
old Windows build used to test in IE11 and old Edge. Since we stopped
testing on those we switched to Chromium, but that doesn't provide any
extra signal in addition to what we get from Linux Chromium already.
Adds files from flutter/flaux which contain modifications for the engine
structure. The history for engine/ has been edited. Please see
flutter/engine for the original PRs.
The license script has load-baring formatting: Changing its format makes signature checks fail. To ensure the formatting change goes in smoothly later this week I am taking it off the critical path by pre-formatting it.
The script itself is fairly stable, so I am not expecting any changes to it between now and when we actually enforce formatting.
Edit: The issue that surfaced with `ci/licenses_golden/licenses_dart` is another reason to take this off the critical path of enforcing formatting.
`dart format` can fail (e.g. if a file contains invalid dart code). Previously, those failures were swallowed. This change adds logic to properly print those failures to the terminal.
A `CkImage` instance holds a reference to `ImageSource?`. When that `CkImage` gets cloned, the `ImageSource` instance becomes shared between the original `CkImage` and its new clone. Then when one of the `CkImage`s gets disposed of, it closes the shared `ImageSource` leaving other live `CkImage`s holding on to a closed `ImageSource`.
The quick solution to this is to have a ref count on the `ImageSource` to count how many `CkImage`s are referencing it. The `ImageSource` will only be closed if its ref count reaches 0.
Fixes https://github.com/flutter/flutter/issues/160199
Fixes https://github.com/flutter/flutter/issues/158093
The RGB565 format documentation in embedder.h incorrectly stated that the red component uses the least significant bits. Unit tests in embedder/testdefs/embedder_unittests.cc demonstrate this is incorrect, showing:
- Red test (0xF800): Uses bits [15:11]
- Green test (0x07E0): Uses bits [10:5]
- Blue test (0x001F): Uses bits [4:0]
This commit fixes the documentation to correctly reflect the actual bit layout:
- Red uses 5 MSBs [15:11]
- Green uses 6 middle bits [10:5]
- Blue uses 5 LSBs [4:0]
Also fixes the example bit extraction code to use correct masks, matching the test expectations.
Impact: This change helps prevent potential developer confusion about RGB565 bit ordering and ensures the documentation matches the actual implementation as verified by the test suite.
Fixes observed sampling problems on the adreno series where slightly different mediump/lowp behavior, resulting in the downsample shader showing "chunky" rendeering.
RBE is not supported for this build. Starting the RBE proxy adds unnecessary overhead, and the attempt to use RBE will cause the build recipe to request too many parallel jobs in Ninja.
When running `dart format` over these lines the `// ignore` ended up on a line where it wasn't properly ignoring the lint. This adjusts the placement of `// ignore`s so they will continue to ignore the right thing even after the code is auto formatted.
I am hoping that if we do this now the large PR that formats the entire repo will go in smoother without manual intervention.
The old path doesn't exist.
`dart format` stumbles over this non-existent include.
`analysis_options.yaml` files that just imported something non-existent were deleted.
I am surprised that this never caused any other issues. Is this all dead code that isn't actually analyzed?
On the bots there were old and stale `package_config.json` files hanging around that confuse the `dart format` command. This PR adds a step to the `pub_get_offline.py` glcient sync hook to delete all of these files that are not under version control.