Jonah Williams
571d08a5bb
Update flutter_web to latest ( flutter/engine#9792 )
2019-07-11 15:12:30 -07:00
Dan Field
fcf9c42593
fix ColorFilter.matrix constness ( flutter/engine#9789 )
2019-07-11 12:55:49 -07:00
Jason Simmons
d4894e906d
Fall back to a fully qualified path to libapp.so if the library can not be loaded by name ( flutter/engine#9762 )
...
libapp.so contains compiled application Dart code. On most Android systems,
this library can be loaded by calling dlopen("libapp.so"), which will search
Android's default library directories.
On some Android devices this does not work as expected. As a workaround, this
patch provides a fallback path to libapp.so based on ApplicationInfo.nativeLibraryDir.
Fixes https://github.com/flutter/flutter/issues/35838
2019-07-11 12:39:42 -07:00
skia-flutter-autoroll
22bc2c44b0
Roll src/third_party/skia f9fcf7ffa89a..7825d4983f90 (6 commits) ( flutter/engine#9788 )
...
https://skia.googlesource.com/skia.git
/compare/f9fcf7ffa89a..7825d4983f90
git log f9fcf7ffa89a4b64b013f825f459dd4e9f3344e4..7825d4983f90c29aead6f5c57716cc281cdca47f --date=short --no-merges --format=%ad %ae %s
2019-07-10 benjaminwagner@google.com Add comparison of rendered SkPictures to Serialization unit test
2019-07-11 egdaniel@google.com Add kRGBA_8888_SRGB GrColorType and remove GrSRGBEncoded.
2019-07-03 halcanary@google.com Sample/Camera: make it work without /skimages
2019-07-11 mtklein@google.com rename to bt709_luminance_or_luma_to_alpha
2019-07-11 jlavrova@google.com Fix for Windows specific compiler issues (constexpr).
2019-07-10 halcanary@google.com experimental/tools: set-change-id-hook
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-11 14:58:40 -04:00
liyuqian
907657faaf
Add comments to differentiate two cache paths ( flutter/engine#9721 )
2019-07-11 11:24:43 -07:00
gaaclarke
5b09d678cf
Un-deprecated FlutterViewController's binaryMessenger. ( flutter/engine#9767 )
...
Un-deprecated FlutterViewController's binaryMessenger. Leaving it as
a valid convenience method and to help minimize a breaking change.
2019-07-11 10:04:26 -07:00
Ben Konyi
b1bab2e476
Roll src/third_party/dart 09fc76bc51..24725a8559 (43 commits)
...
dart-lang/sdk@24725a8559 [cfe] Fix handling of private names in expression evaluation.
dart-lang/sdk@cb93b8d813 [vm] Plumb enable_asserts to CFE through VM and kernel_front_end
dart-lang/sdk@bae176b073 [cfe+dart2js] Add shared constant evaluation test.
dart-lang/sdk@fdd3822e3c [cfe+dart2js] Move annotation testing logic to front_end
dart-lang/sdk@910064b416 [cfe] Prepare compiler_common for use in annotated code tests
dart-lang/sdk@84c7929c1f Small fixes.
dart-lang/sdk@d16c0a127e [cfe] Change supportSetLiterals default value to true
dart-lang/sdk@d1fcefc13a [vm] Add Dart_KillIsolate API function.
dart-lang/sdk@11da803fe9 [dartdevc] build the ddk sdk with dartdevc
dart-lang/sdk@8e3a75c3fe [ VM / Observatory ] Fixed getInstances invocation still using 'classId' instead of 'objectId' parameter.
dart-lang/sdk@c2ff2ca16d collection API use de-linting
dart-lang/sdk@205b7787df skip tests in precompiled obfuscated bot
dart-lang/sdk@d49bf6f25a [vm] Remove misleading usings.
dart-lang/sdk@0104a62595 Enable "prefer final fields" lint and fix violations.
dart-lang/sdk@2a2d41658f Update DDC import prefix for path package
dart-lang/sdk@4a56e6169e Update test expectation for enabled constant-update-2018
dart-lang/sdk@eceef5e809 Fix unneeded braces in interpolation and enable lint for it.
dart-lang/sdk@c00d5ceb33 [fasta] Include initializers for parameters of instance methods into outline
dart-lang/sdk@1f718b2dcf upgrade dartdoc to 0.28.4
dart-lang/sdk@2e8f642ece [dartdevc] shard ddc/ddk tests
dart-lang/sdk@52abcd3dd2 apply prefer_equal_for_default_values
dart-lang/sdk@318a482eea [vm/aot/tfa] Improve handling of recursive calls in TFA
dart-lang/sdk@016061d159 libray imported extensions
dart-lang/sdk@ce79d63c58 bump to linter 0.1.94
dart-lang/sdk@2c2364c3b4 Use a Map to avoid duplicate items in OverlayFileSystem.getChildren
dart-lang/sdk@81b677cd80 Turn on a bunch of linter rules for the test_runner.
dart-lang/sdk@790d18a1bd Update IsolateReload_DirectSubclasses_* to account for lazier finalization with bytecode.
dart-lang/sdk@9a07c4a817 [dartdevc] Properly encode Windows-style paths and paths with spaces for source maps
dart-lang/sdk@7820e807a6 Add missed type annotations and sort
dart-lang/sdk@8027d9cba4 support error code based lint fixes in dartfix
dart-lang/sdk@0de18dce6c [ VM / Service ] Make _registerService and related streams / events public
dart-lang/sdk@de2ff7eebb Split out the remaining HintCode tests
dart-lang/sdk@24d57fb745 [benchmark] Add top level benchmarks directory.
dart-lang/sdk@90088a386b [vm/kernel] Remove Function parameters from Local type parameters
dart-lang/sdk@f743594375 Handle flags at member level
dart-lang/sdk@8f90265176 de-lint collection size checks
dart-lang/sdk@ac41a20081 Update language_2/nested_generic_closure_test.dart.
dart-lang/sdk@52858391e6 [frontend/ffi] Remove const Pointer()
dart-lang/sdk@e3d5966b7b Add missing child declarations to LSP completion
dart-lang/sdk@3a8d755989 Change the delimiters used to mark highlight ranges in diagnostic documentation
dart-lang/sdk@449b799c21 Test that null cannot be used because its potentially nullable
dart-lang/sdk@c3a1670c00 Attempt to fix the windows bot again
dart-lang/sdk@8bb8a29f8b refactor dartfix lint fixes
2019-07-11 09:56:51 -07:00
Michael Klimushyn
15a831d358
Add hooks for InputConnection lock and unlocking ( flutter/engine#9727 )
...
With this, plugins can know whether or not their input connection should
be cached. In very rare cases this can be used by plugins to know how to
more properly handle their own input connections, in cases where they're
overriding typical input behavior themselves.
2019-07-11 09:47:35 -07:00
skia-flutter-autoroll
70e71340b8
Roll src/third_party/skia af4e7b6cf616..f9fcf7ffa89a (33 commits) ( flutter/engine#9784 )
...
https://skia.googlesource.com/skia.git
/compare/af4e7b6cf616..f9fcf7ffa89a
git log af4e7b6cf6164a7d448641e48e628448600e31ec..f9fcf7ffa89a4b64b013f825f459dd4e9f3344e4 --date=short --no-merges --format=%ad %ae %s
2019-07-11 robertphillips@google.com Alter approximate scratch texture binning after 1024
2019-07-11 scroggo@google.com Revert "Update Wuffs version"
2019-07-10 borenet@google.com [infra] No relative path for infra_tests.isolate
2019-07-10 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial).
2019-07-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/angle2 4e71b2bc2546..9668237739a2 (7 commits)
2019-07-11 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update Go deps
2019-07-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ../src 9d81bd852e09..17462d53f92d (335 commits)
2019-07-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/swiftshader 8c4c9e37bf96..28ae0a4b2810 (3 commits)
2019-07-10 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial).
2019-07-10 bsalomon@google.com Blacklist GrTestingBackendTextureUploadTest on MoltenVk.
2019-07-10 bsalomon@google.com Third land of "Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles"
2019-07-10 egdaniel@google.com Add missing RGB_888x colorType to GL RGBA format.
2019-07-10 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial).
2019-07-10 mtklein@google.com lifetime analysis readability refactor
2019-07-10 brianosman@google.com Remove MSVC 2015 toolchain remnants
2019-07-10 robertphillips@google.com Fix assert
2019-07-10 bsalomon@google.com Try GrGLSizedInternalFormat enum
2019-07-10 senorblanco@chromium.org Add first Dawn dependencies.
2019-07-10 bsalomon@google.com Blacklist ColorTypeBackendAllocationTest on MoltenVK
2019-07-10 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial).
2019-07-10 reed@google.com Move test around in cubic_solver to test function, not delta_t.
2019-07-08 robertphillips@google.com Fix SkPixmap and SkBitmap dox for computeByteSize
2019-07-10 bsalomon@google.com Reland "Revert "Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles""
2019-07-10 fmalita@chromium.org [skottie] Caching motion tile
2019-07-10 nigeltao@google.com Update Wuffs version
2019-07-10 borenet@google.com Revert "[infra] No relative path for infra_tests.isolate"
2019-07-10 robertphillips@google.com Add protected status to SkSurfaceCharacterization
2019-07-10 bsalomon@google.com Revert "Revert "Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles""
2019-07-10 borenet@google.com [infra] No relative path for infra_tests.isolate
2019-07-09 brianosman@google.com Interpreter: Disallow recursion
2019-07-10 bsalomon@google.com Revert "Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles"
2019-07-10 borenet@google.com [infra] Fix WASM Gold aggregator build
2019-07-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/angle2 5dfad811ce32..4e71b2bc2546 (11 commits)
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-11 10:31:26 -04:00
Dan Field
9e6381e319
fix objcdoc generation ( flutter/engine#9772 )
2019-07-10 23:06:40 -07:00
stuartmorgan
28e61558ae
FLEViewController/Engine API changes ( flutter/engine#9750 )
...
Updates the way FLEViewController and FLEEngine interact,
making their APIs much more closely aligned with the iOS versions
of the classes.
As part of the change, removes the need for an explicit launch
call on FLEViewController. Also adds entrypoint support when
running an engine directly, matching iOS.
Breaking change for macOS runners.
Part of https://github.com/flutter/flutter/issues/31735
2019-07-10 19:54:41 -07:00
Chris Bracken
ba01544151
Add Fuchsia build CI presubmit steps ( flutter/engine#9736 )
...
Since we're now auto-rolling the Fuchsia SDK into the Flutter engine
repo, we should ensure we spot failures before rolling rather than
after.
2019-07-11 11:34:15 +09:00
skia-flutter-autoroll
f3843d78cd
Roll fuchsia/sdk/core/linux-amd64 from KGmm_RIJoXS19zTm2crjM3RYpmp5Y03-fLUeVdylbTYC to ehWVT9QJbC-vFMM6SkkQM9HJ9oITFCws7FC9JnrFq2gC ( flutter/engine#9765 )
...
Roll fuchsia/sdk/core/linux-amd64 from KGmm_RIJoXS19zTm2crjM3RYpmp5Y03-fLUeVdylbTYC to ehWVT9QJbC-vFMM6SkkQM9HJ9oITFCws7FC9JnrFq2gC
The AutoRoll server is located here: https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
2019-07-10 21:42:47 -04:00
Jason Simmons
7999b5ed02
Include SkParagraph headers only when the enable-skshaper flag is on ( flutter/engine#9758 )
...
These headers are currently causing errors in MSVC-based Windows builds.
2019-07-10 16:32:02 -07:00
Jason Simmons
20bc546d69
Minimal integration with the Skia text shaper module ( flutter/engine#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
ea163fd95e
Re-enable the Wuffs GIF decoder ( flutter/engine#9466 )
...
Fixes https://github.com/flutter/flutter/issues/23838
2019-07-10 14:07:54 -07:00
Chinmay Garde
f33b8a805a
Make all shell unit tests use the OpenGL rasterizer. ( flutter/engine#9746 )
...
The software backend was used earlier.
2019-07-10 13:47:56 -07:00
stuartmorgan
d79e57999b
Make FLEViewController's view an internal detail ( flutter/engine#9741 )
...
Rather than clients needing to create an appropriate view in a XIB and
attach it to an FLEViewController, which is error-prone, have
FLEViewController create its own view programatically. The view is now
an internal detail, so calling setView: on an FLEViewController will no
longer work.
As a result of the view being internal, the public API surface is
simplified.
This is a breaking change for macOS Runners.
2019-07-10 13:45:53 -07:00
gaaclarke
6acae05b3c
Synchronize main thread and gpu thread for first render frame ( flutter/engine#9506 )
...
Got rid of the black frame by synchronizing the main thread with the
gpu thread to make sure a frame is rendered before presenting the
view.
2019-07-10 13:14:07 -07:00
Chinmay Garde
3d231d854c
Use libc++ variant of string view and remove the FML variant. ( flutter/engine#9737 )
2019-07-10 12:11:39 -07:00
Dan Field
792d6a27f8
Revert "Improve caching limits for Skia ( #9503 )" ( flutter/engine#9740 )
...
This reverts commit d075f5f97f97b339783e7915f92165aedcad5ed6.
2019-07-10 12:09:42 -07:00
Jason Simmons
fe7aa44548
libtxt: fix reference counting of SkFontStyleSets held by font asset providers ( flutter/engine#9561 )
2019-07-10 12:08:15 -07:00
Gary Qian
41296831a7
Fix backspace crash on Chinese devices ( flutter/engine#9734 )
2019-07-10 12:08:03 -07:00
Dan Field
e38fb755f3
Let pushColorFilter accept all types of ColorFilters ( flutter/engine#9641 )
2019-07-10 12:06:58 -07:00
skia-flutter-autoroll
5f55585998
Roll src/third_party/skia 96fdfe0fe88e..af4e7b6cf616 (1 commits) ( flutter/engine#9735 )
...
https://skia.googlesource.com/skia.git
/%2Blog/96fdfe0fe88e..af4e7b6cf616
git log 96fdfe0fe88ea318f0e87ec6a56fb05013849690..af4e7b6cf6164a7d448641e48e628448600e31ec --date=short --no-merges --format=%ad %ae %s
2019-07-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ../src 9a8eb165a861..9d81bd852e09 (434 commits)
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-10 15:03:38 -04:00
skia-flutter-autoroll
91d9acda54
Roll fuchsia/sdk/core/linux-amd64 from I2Qe1zxgckzIzMBTztvzeWYsDgcb9Fw-idSI16oIlx8C to KGmm_RIJoXS19zTm2crjM3RYpmp5Y03-fLUeVdylbTYC ( flutter/engine#9743 )
...
Roll fuchsia/sdk/core/linux-amd64 from I2Qe1zxgckzIzMBTztvzeWYsDgcb9Fw-idSI16oIlx8C to KGmm_RIJoXS19zTm2crjM3RYpmp5Y03-fLUeVdylbTYC
The AutoRoll server is located here: https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
2019-07-10 15:00:23 -04:00
Chinmay Garde
4ab0bffeab
Fix windows test by not attempting to open a directory as a file. ( flutter/engine#9745 )
2019-07-10 10:54:40 -07:00
skia-flutter-autoroll
25914aa215
Roll src/third_party/skia a3ffaabcc4f2..96fdfe0fe88e (5 commits) ( flutter/engine#9731 )
...
https://skia.googlesource.com/skia.git
/%2Blog/a3ffaabcc4f2..96fdfe0fe88e
git log a3ffaabcc4f2f0673ee423f45aa858599ed4fc4f..96fdfe0fe88ea318f0e87ec6a56fb05013849690 --date=short --no-merges --format=%ad %ae %s
2019-07-09 benjaminwagner@google.com Fix test TextBlob_serialize
2019-07-09 bungeman@google.com Fix header name in build file.
2019-06-21 jlavrova@google.com Adding locale
2019-07-09 bsalomon@google.com Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles
2019-07-09 egdaniel@google.com Move last few uses of SkColorType out of GrCaps.
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-09 21:26:49 -04:00
Siva
60dbf1c7ac
Fix Fuchsia build. ( flutter/engine#9730 )
2019-07-09 16:52:00 -07:00
Siva
e0f15b2166
Roll src/third_party/dart 06c3d7ad3a...09fc76bc51 ( flutter/engine#9728 )
...
* Roll src/third_party/dart 06c3d7ad3a...09fc76bc51
dart-lang/sdk@09fc76bc51 [vm, compiler] Remove dead _classRangeCheckNegative.
dart-lang/sdk@b472d7a9be Unnecessary null aware spread hint
dart-lang/sdk@f939ad3964 library scope extensions
dart-lang/sdk@9503969664 [vm/bytecode] Add DebugCheck bytecode instruction
dart-lang/sdk@fc542be6b4 Issue 36682. Check that selection offset/length is valid in Extract Method refactoring.
dart-lang/sdk@803658a6d8 [corelib_2] fix bigint_from_test for web platforms
dart-lang/sdk@ad6b1ebbd6 Support for 'double' fields in protocol.
dart-lang/sdk@5479175012 Remove incorrect test.
dart-lang/sdk@058092b5f6 [vm] Fix simarm_x64 build on mac
dart-lang/sdk@307ca3f3b6 [vm/bytecode] Improve single stepping and breakpoint setting in bytecode.
dart-lang/sdk@855830f324 Update LSP spec
dart-lang/sdk@d992f55094 [dartfix] Bump pedantic dep to v1.8.0 and cleanup lint violations
dart-lang/sdk@41330f3e34 gitignore .clangd
dart-lang/sdk@8d07009931 [ VM / Gardening ] Mark disassemble_determinism_test as slow on Windows
dart-lang/sdk@1b82367ed6 Update CHANGELOG to reflect breaking change #36765
dart-lang/sdk@a86db84e0a [fasta] Preserve information about const constructors in outline.
dart-lang/sdk@25319ef7a6 Fix bug in codegen/string_escapes_test.dart.
dart-lang/sdk@7acecda2cc [vm/ffi] Fix FFI Utf8 example.
dart-lang/sdk@e3b3c6fa28 [vm] Rename 3head flutter patch after re-land of concurrency change
dart-lang/sdk@2cb5303782 [infra] Update checked in SDKs to 2.4.0
dart-lang/sdk@fce43ebc4e [ddk] Pass environmentDefines to CFE through CompilerOptions
dart-lang/sdk@5450d08ca1 Add support for analyzer static error tests.
dart-lang/sdk@0425997b31 Second attempt to reland "[vm/concurrency] Introduce concept of Isolate Groups"
dart-lang/sdk@5470159054 [vm, gc] Produce a proper error message when crashing due to lack of memory at isolate startup.
dart-lang/sdk@bfc7d21da6 Remove useless dart2js_extra/class_test
dart-lang/sdk@572619b639 [vm, bytecode] Fix vm/cc/CompileFunctionOnHelperThread.
dart-lang/sdk@4de495fccc [vm, compiler] Remove dead stub ICCallThroughFunction.
dart-lang/sdk@8a1dcdae68 Graduate 'flutter' domain from experimental, remove unused methods and fields.
dart-lang/sdk@a945888627 Discard constructors and fields temporarily to get valid code compiling
* Fix analyzer warning.
2019-07-09 16:12:06 -07:00
Jason Simmons
960bae1cdf
Make the license script compatible with recently changed Dart I/O stream APIs ( flutter/engine#9725 )
2019-07-09 15:00:56 -07:00
Chinmay Garde
a5799c0964
Rework image & texture management to use concurrent message queues. ( flutter/engine#9486 )
...
This patch reworks image decompression and collection in the following ways
because of misbehavior in the described edge cases.
The current flow for realizing a texture on the GPU from a blob of compressed
bytes is to first pass it to the IO thread for image decompression and then
upload to the GPU. The handle to the texture on the GPU is then passed back to
the UI thread so that it can be included in subsequent layer trees for
rendering. The GPU contexts on the Render & IO threads are in the same
sharegroup so the texture ends up being visible to the Render Thread context
during rendering. This works fine and does not block the UI thread. All
references to the image are owned on UI thread by Dart objects. When the final
reference to the image is dropped, the texture cannot be collected on the UI
thread (because it has not GPU context). Instead, it must be passed to either
the GPU or IO threads. The GPU thread is usually in the middle of a frame
workload so we redirect the same to the IO thread for eventual collection. While
texture collections are usually (comparatively) fast, texture decompression and
upload are slow (order of magnitude of frame intervals).
For application that end up creating (by not necessarily using) numerous large
textures in straight-line execution, it could be the case that texture
collection tasks are pending on the IO task runner after all the image
decompressions (and upload) are done. Put simply, the collection of the first
image could be waiting for the decompression and upload of the last image in the
queue.
This is exacerbated by two other hacks added to workaround unrelated issues.
* First, creating a codec with a single image frame immediately kicks of
decompression and upload of that frame image (even if the frame was never
request from the codec). This hack was added because we wanted to get rid of
the compressed image allocation ASAP. The expectation was codecs would only be
created with the sole purpose of getting the decompressed image bytes.
However, for applications that only create codecs to get image sizes (but
never actually decompress the same), we would end up replacing the compressed
image allocation with a larger allocation (device resident no less) for no
obvious use. This issue is particularly insidious when you consider that the
codec is usually asked for the native image size first before the frame is
requested at a smaller size (usually using a new codec with same data but new
targetsize). This would cause the creation of a whole extra texture (at 1:1)
when the caller was trying to “optimize” for memory use by requesting a
texture of a smaller size.
* Second, all image collections we delayed in by the unref queue by 250ms
because of observations that the calling thread (the UI thread) was being
descheduled unnecessarily when a task with a timeout of zero was posted from
the same (recall that a task has to be posted to the IO thread for the
collection of that texture). 250ms is multiple frame intervals worth of
potentially unnecessary textures.
The net result of these issues is that we may end up creating textures when all
that the application needs is to ask it’s codec for details about the same (but
not necessarily access its bytes). Texture collection could also be delayed
behind other jobs to decompress the textures on the IO thread. Also, all texture
collections are delayed for an arbitrary amount of time.
These issues cause applications to be susceptible to OOM situations. These
situations manifest in various ways. Host memory exhaustion causes the usual OOM
issues. Device memory exhaustion seems to manifest in different ways on iOS and
Android. On Android, allocation of a new texture seems to be causing an
assertion (in the driver). On iOS, the call hangs (presumably waiting for
another thread to release textures which we won’t do because those tasks are
blocked behind the current task completing).
To address peak memory usage, the following changes have been made:
* Image decompression and upload/collection no longer happen on the same thread.
All image decompression will now be handled on a workqueue. The number of
worker threads in this workqueue is equal to the number of processors on the
device. These threads have a lower priority that either the UI or Render
threads. These workers are shared between all Flutter applications in the
process.
* Both the images and their codec now report the correct allocation size to Dart
for GC purposes. The Dart VM uses this to pick objects for collection. Earlier
the image allocation was assumed to 32bpp with no mipmapping overhead
reported. Now, the correct image size is reported and the mipmapping overhead
is accounted for. Image codec sizes were not reported to the VM earlier and
now are. Expect “External” VM allocations to be higher than previously
reported and the numbers in Observatory to line up more closely with actual
memory usage (device and host).
* Decoding images to a specific size used to decode to 1:1 before performing a
resize to the correct dimensions before texture upload. This has now been
reworked so that images are first decompressed to a smaller size supported
natively by the codec before final resizing to the requested target size. The
intermediate copy is now smaller and more promptly collected. Resizing also
happens on the workqueue worker.
* The drain interval of the unref queue is now sub-frame-interval. I am hesitant
to remove the delay entirely because I have not been able to instrument the
performance overhead of the same. That is next on my list. But now, multiple
frame intervals worth of textures no longer stick around.
The following issues have been addressed:
* https://github.com/flutter/flutter/issues/34070 Since this was the first usage
of the concurrent message loops, the number of idle wakes were determined to
be too high and this component has been rewritten to be simpler and not use
the existing task runner and MessageLoopImpl interface.
* Image decoding had no tests. The new `ui_unittests` harness has been added
that sets up a GPU test harness on the host using SwiftShader. Tests have been
added for image decompression, upload and resizing.
* The device memory exhaustion in this benchmark has been addressed. That
benchmark is still not viable for inclusion in any harness however because it
creates 9 million codecs in straight-line execution. Because these codecs are
destroyed in the microtask callbacks, these are referenced till those
callbacks are executed. So now, instead of device memory exhaustion, this will
lead to (slower) exhaustion of host memory. This is expected and working as
intended.
This patch only addresses peak memory use and makes collection of unused images
and textures more prompt. It does NOT address memory use by images referenced
strongly by the application or framework.
2019-07-09 14:59:34 -07:00
skia-flutter-autoroll
019433f4f2
Roll src/third_party/skia 6b82cf638682..a3ffaabcc4f2 (24 commits) ( flutter/engine#9726 )
...
https://skia.googlesource.com/skia.git
/%2Blog/6b82cf638682..a3ffaabcc4f2
git log 6b82cf638682354f07dc8bfa756d5806d49643ca..a3ffaabcc4f2f0673ee423f45aa858599ed4fc4f --date=short --no-merges --format=%ad %ae %s
2019-07-09 bsalomon@google.com Fix up row bytes for single level texture in GrResourceProvider.
2019-07-09 brianosman@google.com Only include angle in default configs when it's enabled
2019-06-27 borenet@google.com [infra] Make infra tests idempotent
2019-07-09 borenet@google.com Revert "[infra] No task deduplication"
2019-07-09 fmalita@chromium.org Remove onMakeBurstPipelineContext
2019-07-09 fmalita@chromium.org Optional local matrix for SkShaders factories
2019-07-09 robertphillips@google.com Make Mock GrBackendFormat use GrColorType (instead of GrPixelConfig)
2019-07-09 michaelludwig@google.com Reland "More optimizations for CropToRect, for axis-aligned quads that have not been inverted"
2019-07-09 borenet@google.com [infra] No task deduplication
2019-07-09 bsalomon@google.com vk_format_to_pixel_config behind GR_TEST_UTILS
2019-07-08 halcanary@google.com ModifierKey unifies sk_app::Window::ModifierKey & Sample::Click::ModifierKey
2019-07-09 brianosman@google.com Reland "Make the SkSL interpreter opt-in"
2019-07-09 jvanverth@google.com Re-enable Vulkan MSAA support in Viewer
2019-07-09 bsalomon@google.com Use vkCmdClearColorImage to clear backend textures
2019-07-09 reed@google.com create outer forloop to support loops=-1
2019-07-09 fmalita@chromium.org [skottie] Motion blur fast path
2019-07-08 egdaniel@google.com Move uses of functions taking SkColorType to GrColorType versions in GrCaps.
2019-07-03 fmalita@chromium.org [skottie] Motion blur support
2019-07-09 brianosman@google.com Revert "Enable MSAA on Gen8 Intel GPUs"
2019-07-08 scroggo@google.com Check for uninitialized memory during jpeg encode
2019-07-09 rmistry@google.com [perf_skottiewasm_lottieweb] Handle case where start TS of frame_id not added yet
2019-07-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/angle2 a1b6761e6e3c..5dfad811ce32 (13 commits)
2019-07-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ../src ea1730d8b2f9..9a8eb165a861 (363 commits)
2019-07-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/swiftshader 8900e7c54a22..8c4c9e37bf96 (1 commits)
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-09 16:39:10 -04:00
Ben Konyi
f7d3c8daff
Revert "Roll src/third_party/dart 06c3d7ad3a..7acecda2cc (12 commits)" ( flutter/engine#9724 )
...
* Revert "Roll src/third_party/dart 06c3d7ad3a..7acecda2cc (12 commits)"
This reverts commit b6f66837b51c2c6ca8478e3189b698cf3616c408.
* Revert "Reland isolate group changes"
This reverts commit b76f732bc84ec5eafb4bcfccdf6ea73859fdabe1.
2019-07-09 10:53:58 -07:00
skia-flutter-autoroll
16033ad0f2
Roll src/third_party/skia 56065d9b875f..6b82cf638682 (3 commits) ( flutter/engine#9718 )
...
https://skia.googlesource.com/skia.git
/%2Blog/56065d9b875f..6b82cf638682
git log 56065d9b875feaf85a4374c69259d37b3e2a817e..6b82cf638682354f07dc8bfa756d5806d49643ca --date=short --no-merges --format=%ad %ae %s
2019-07-08 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial).
2019-07-08 halcanary@google.com GM: s/handleKey/onChar/
2019-07-08 rmistry@google.com Parse chrome traces for skottie+wasm and lottie-web for perf
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-09 13:01:49 -04:00
Ben Konyi
b76f732bc8
Reland isolate group changes
...
This reverts commit f78c2ef4e3a5c13dbe597a39d556dc4d94a3a31e.
2019-07-09 09:59:15 -07:00
Chris Yang
c2916d93dc
iOS platform view opacity ( flutter/engine#9667 )
2019-07-08 16:07:39 -07:00
Dan Field
52ef4e6cbc
Refactor ColorFilter to have a native wrapper ( flutter/engine#9668 )
2019-07-08 15:36:16 -07:00
Gary Qian
a56a82dc85
TextStyle.height property as a multiple of font size instead of multiple of ascent+descent+leading. ( flutter/engine#9041 )
2019-07-08 15:32:02 -07:00
liyuqian
160663387a
Explain why OpacityLayer has an offset field ( flutter/engine#9713 )
...
According to the request by Amir and Chris.
2019-07-08 15:02:18 -07:00
skia-flutter-autoroll
0c81fa5bd9
Roll src/third_party/skia aee26ea14efc..56065d9b875f (16 commits) ( flutter/engine#9714 )
...
https://skia.googlesource.com/skia.git
/%2Blog/aee26ea14efc..56065d9b875f
git log aee26ea14efc9bcbfa99fd2e3947dd59ca72bdea..56065d9b875feaf85a4374c69259d37b3e2a817e --date=short --no-merges --format=%ad %ae %s
2019-07-08 rmistry@google.com [skottie-wasm-perf] Turn on chrome tracing
2019-07-08 rmistry@google.com [lottie-web-perf] Use SVG renderer and turn on chrome tracing
2019-07-08 brianosman@google.com Revert "Make the SkSL interpreter opt-in"
2019-07-08 brianosman@google.com Enable MSAA on Gen8 Intel GPUs
2019-07-08 robertphillips@google.com Remove some uses of isTestingOnlyBackendTexture
2019-07-03 cstout@google.com [fuchsia] Use //src/graphics/lib/vulkan for in-tree build
2019-07-08 egdaniel@google.com Make isFormatTexturable take a GrColorType.
2019-07-08 michaelludwig@google.com Revert "More optimizations for CropToRect, for axis-aligned quads that have not been inverted"
2019-07-08 brianosman@google.com Make the SkSL interpreter opt-in
2019-07-05 halcanary@google.com Sample/Shaders: use resources; cleanup code
2019-07-08 halcanary@google.com Sample/Lines remove boring sample
2019-07-03 halcanary@google.com Samples: simplify Sample::Event
2019-07-08 robertphillips@google.com Make BGRA_8888 renderable & textureable by default in the mock context
2019-07-08 recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com Roll recipe dependencies (trivial).
2019-07-08 michaelludwig@google.com More optimizations for CropToRect, for axis-aligned quads that have not been inverted
2019-07-03 halcanary@google.com Sample/Patch: use resources; cleanup code
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-08 17:48:21 -04:00
liyuqian
44b3aaca5b
Improve window documentation ( flutter/engine#9669 )
...
To reflect Matt Carroll's recent (02/06/2019) email about promoting
`WidgetsBinding.instance.window` and demoting `ui.window`.
I have to manually search for Matt's email several times when I need
to access the Window object. Having it in the documentation would
help me do that much faster.
2019-07-08 14:40:21 -07:00
skia-flutter-autoroll
a9fee438ba
Roll src/third_party/skia 829b6a0ff49f..aee26ea14efc (8 commits) ( flutter/engine#9709 )
...
https://skia.googlesource.com/skia.git
/%2Blog/829b6a0ff49f..aee26ea14efc
git log 829b6a0ff49f895e575770d21c32c0ad6f56f260..aee26ea14efc9bcbfa99fd2e3947dd59ca72bdea --date=short --no-merges --format=%ad %ae %s
2019-07-08 michaelludwig@google.com Reland "Switch drawTexture calls to use attemptQuadOptimization"
2019-07-03 halcanary@google.com Sample/Filter2View: make it work without /skimages
2019-07-08 bsalomon@google.com Reland "Disable GLPrograms test on Mac 10.1 bot"
2019-07-08 scroggo@google.com Re-Enable Codec tests on Wuffs bot
2019-07-03 bsalomon@google.com Revert "Disable GLPrograms test on Mac 10.1 bot"
2019-07-03 herb@google.com Use bulk calls in GlyhRun
2019-07-08 scroggo@google.com Update libwebp to 1.03 release candidate
2019-07-02 mtklein@google.com Roll dng_sdk to quiet warnings
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-08 14:11:53 -04:00
Terry Lucas
052cef06f9
Revert "Revert "Use track-widget-creation transformer included in the sdk. ( #9085 )" ( #9134 )" ( flutter/engine#9707 )
...
This reverts commit 9397cd43160e8adf89936bd8340dffcb1f5b5a14.
2019-07-08 10:53:47 -07:00
stuartmorgan
4f50b76d41
Add FLEDartProject for macOS embedding ( flutter/engine#9672 )
...
Adds an initial version of FLEDartProject, which contains the
configuration for running the engine. In the future this will align with
FlutterDartProject, and likely share a significant portion of the
implementation.
This is a breaking change for macOS runners.
2019-07-08 09:18:54 -07:00
skia-flutter-autoroll
d24bb0da53
Roll src/third_party/skia e192c4ce5a33..829b6a0ff49f (1 commits) ( flutter/engine#9705 )
...
https://skia.googlesource.com/skia.git
/%2Blog/e192c4ce5a33..829b6a0ff49f
git log e192c4ce5a33829325ded5a03587605d892829b6..829b6a0ff49f895e575770d21c32c0ad6f56f260 --date=short --no-merges --format=%ad %ae %s
2019-07-08 aaron.omullan@gmail.com Fix Metal includes breaking macOS local builds
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-08 10:34:58 -04:00
skia-flutter-autoroll
3919d2976d
Roll src/third_party/skia de6758683abd..e192c4ce5a33 (2 commits) ( flutter/engine#9703 )
...
https://skia.googlesource.com/skia.git
/%2Blog/de6758683abd..e192c4ce5a33
git log de6758683abd60cd2751349ed7c11b3e185f1840..e192c4ce5a33829325ded5a03587605d892829b6 --date=short --no-merges --format=%ad %ae %s
2019-07-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/angle2 c26b7914f03f..a1b6761e6e3c (4 commits)
2019-07-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/swiftshader 1d4f5775ee06..8900e7c54a22 (6 commits)
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-08 04:49:24 -04:00
skia-flutter-autoroll
b9b4741001
Roll src/third_party/skia 2f62edf1ac5d..de6758683abd (1 commits) ( flutter/engine#9700 )
...
https://skia.googlesource.com/skia.git
/%2Blog/2f62edf1ac5d..de6758683abd
git log 2f62edf1ac5d8f8e6d5e33d6de20f77dd206ecb8..de6758683abd60cd2751349ed7c11b3e185f1840 --date=short --no-merges --format=%ad %ae %s
2019-07-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ../src 536c762e1a81..ea1730d8b2f9 (195 commits)
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-08 01:13:49 -04:00
skia-flutter-autoroll
a8a1c1dd0a
Roll src/third_party/skia 1d105080c423..2f62edf1ac5d (1 commits) ( flutter/engine#9699 )
...
https://skia.googlesource.com/skia.git
/%2Blog/1d105080c423..2f62edf1ac5d
git log 1d105080c423e6c8bbb15da5544a4ff28a8b8570..2f62edf1ac5d8f8e6d5e33d6de20f77dd206ecb8 --date=short --no-merges --format=%ad %ae %s
2019-07-07 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update SKP version
The AutoRoll server is located here: https://autoroll.skia.org/r/skia-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (fmalita@google.com ), and stop
the roller if necessary.
2019-07-07 05:24:29 -04:00
Chinmay Garde
77fe25aa5a
Ensure that platform messages without response handles can be dispatched. ( flutter/engine#9698 )
2019-07-06 14:57:36 -07:00