18897 Commits

Author SHA1 Message Date
skia-flutter-autoroll
cc4e8d2efe Roll Skia from 36f230673448 to 44a17e13fc9b (1 revision) (flutter/engine#35319) 2022-08-10 21:41:22 +00:00
Javon Thomas
ab6376ac20 Pushing BackdropFilter Mutator (flutter/engine#34355) 2022-08-10 21:36:39 +00:00
Shivesh Ganju
0f4214ccfd [fuchsia][scenic] Reset the state of a PointerInjectorEndpoint on (flutter/engine#35241)
channel closure.

This CL resets the state including cleaning up the buffers whenever
a fuchsia.ui.pointerinjector.Device channel closes due to some error.

Test: flutter_runner_tests
2022-08-10 16:43:59 -04:00
skia-flutter-autoroll
5e1ab4fdac Roll Skia from 0f1018456d33 to 36f230673448 (1 revision) (flutter/engine#35316) 2022-08-10 19:44:11 +00:00
Chris Bracken
93f9caca1f [Windows] Replace memset with C++ alternatives (flutter/engine#35312)
Eliminate a few uses of memset in the code, replacing them with C++
alternatives, like using initialiser list syntax and std::array + fill.
This avoids some double-hardcoding of array length in the code.
2022-08-10 19:40:11 +01:00
skia-flutter-autoroll
4a8e16a763 Roll Skia from 0490292655c4 to 0f1018456d33 (4 revisions) (flutter/engine#35311) 2022-08-10 18:11:34 +00:00
Chris Bracken
2712ac0d4b Support custom entrypoints in public Windows API (flutter/engine#35285)
This adds a dart_entrypoint field to FlutterDesktopEngineProperties in
the public C Windows API, which mirrors that in the embedder API.

When a null or empty entrypoint is specified, a default entrypoint of
'main' is assumed. Otherwise, the app is launched at the top-level
function specified, which must be annotated with
@pragma('vm:entry-point') in the Dart source.

This change is backward-compatible for existing users of the Windows C API
and the C++ client wrapper API. To avoid breaking backward compatibility,
this patch preserves the entry_point parameter to FlutterDesktopEngineRun
in the public Windows C API as well as in the FlutterEngine::Run method
in the C++ client wrapper API. The entrypoint can be specified in either
the engine properties struct or via the parameter, but if conflicting
non-empty values are specified, the engine launch will intentionally fail
with an error message.

This change has no effect on existing Flutter Windows desktop apps and no
migration is required, because our app templates never specify a custom
entrypoint, nor was the option to specify one via the old method particularly
feasible, because the FlutterViewController class constructor immediately
invokes FlutterViewControllerCreate which immediately launches the engine
passed to it with a null entrypoint argument, so long as the engine is not
already running. However, running the engine without a view controller
previously resulted in errors due to failure to create a rendering surface.

This is a followup patch to https://github.com/flutter/engine/pull/35273
which added support for running Dart fixture tests with a live Windows
embedder engine.

Fixes: https://github.com/flutter/flutter/issues/93537
Related: https://github.com/flutter/flutter/issues/87299
2022-08-10 18:31:03 +01:00
skia-flutter-autoroll
3ae328c325 Roll Skia from e83282daf351 to 0490292655c4 (2 revisions) (flutter/engine#35308) 2022-08-10 17:00:45 +00:00
Bernardo Eilert Trevisan
c4baaae085 [Impeller] Color matrix color filter implementation. (flutter/engine#35284) 2022-08-10 16:47:17 +00:00
skia-flutter-autoroll
b726529cfe Roll Fuchsia Linux SDK from bmiwbb8nY... to OkIFye3iR... (flutter/engine#35307) 2022-08-10 16:25:31 +00:00
Chris Bracken
9215e15d91 Add FLUTTER_DEPRECATED macro and flutter_macros.h (flutter/engine#35293)
Adds a new header, flutter_macros.h which includes a FLUTTER_DEPRECATED
macro that can be used to mark deprecated API as such, with a
hopefully-informative message, ideally describing the expected removal
version and any migration tips.

This will need to be #included in flutter_windows.h and flutter_linux.h,
but prior to doing so, we'll need to update the engine recipe to bundle
the new header, here:
https://flutter.googlesource.com/recipes/+/refs/heads/main/recipes/engine/engine.py#1457

No tests since this adds a compiler macro that will be used for future
C/C++ API deprecation once the above recipe change has landed;
specifically: FlutterDesktopEngineProcessMessages.

Related: https://github.com/flutter/flutter/issues/93537
2022-08-10 17:23:09 +01:00
Chris Bracken
41609b4521 Formatting: Correct whitespace in flutter_export.h (flutter/engine#35292)
Fixes a minor whitespace inconsistency on the documentation for
FLUTTER_EXPORT.

No test change since there is no change to code semantics.

Related: https://github.com/flutter/flutter/issues/93537
2022-08-10 17:22:01 +01:00
Kaushik Iska
2c560b5e74 [Impeller] [vulkan] Implement command pool and sampler library (flutter/engine#35282) 2022-08-10 08:49:44 -07:00
skia-flutter-autoroll
23153dcdeb Roll Skia from 497fdaa6f647 to e83282daf351 (5 revisions) (flutter/engine#35305) 2022-08-10 15:47:08 +00:00
skia-flutter-autoroll
7f04b72091 Roll Skia from 63059a86098e to 497fdaa6f647 (2 revisions) (flutter/engine#35304) 2022-08-10 14:34:04 +00:00
skia-flutter-autoroll
36a7ff2067 Roll Skia from 77790f1d931e to 63059a86098e (1 revision) (flutter/engine#35303) 2022-08-10 13:18:09 +00:00
skia-flutter-autoroll
5ff607742c Roll Skia from 6d371c8f05a8 to 77790f1d931e (1 revision) (flutter/engine#35301) 2022-08-10 10:43:05 +00:00
skia-flutter-autoroll
c893a3b33d Roll Skia from bfbc0c9abd67 to 6d371c8f05a8 (1 revision) (flutter/engine#35297) 2022-08-10 07:02:04 +00:00
skia-flutter-autoroll
31e36efa97 Roll Skia from 0cc4b51ab9d5 to bfbc0c9abd67 (1 revision) (flutter/engine#35295) 2022-08-10 05:50:04 +00:00
ColdPaleLight
2077ba5ed2 Make 'DlImageColorSource' work with 'DlImage's (flutter/engine#35258) 2022-08-10 05:47:06 +00:00
skia-flutter-autoroll
9b3c9ec3c4 Roll Fuchsia Linux SDK from n-AJfzUMF... to bmiwbb8nY... (flutter/engine#35290) 2022-08-10 02:18:05 +00:00
Chinmay Garde
8f1be066e5 [Impeller] Enable support for Apple Silicon Macs and tvOS devices. (flutter/engine#35287) 2022-08-10 01:31:05 +00:00
J-P Nurmi
5ced18fed0 [Linux] use top-level GTK IM client window (flutter/engine#35272)
This PR takes a step back and changes the GTK IM client window back from FlView to GtkApplicationWindow as it was before #33111. The window was originally changed to FlView to make the code testable by cutting a dependency to gtk_widget_translate_coordinates(). The change was hard to revert because there were several conflicting changes on top. Therefore, this PR introduces an FlTextInputViewDelegate to be able to provide coordinate mapping in a testable way.

Fixes: flutter/flutter#108832
2022-08-09 16:55:41 -07:00
skia-flutter-autoroll
6f415b64c5 Roll Skia from 93297d54df57 to 0cc4b51ab9d5 (4 revisions) (flutter/engine#35286) 2022-08-09 23:30:04 +00:00
Dan Field
132ab1a321 Reland toImageSync (flutter/engine#35283) 2022-08-09 22:32:04 +00:00
Chinmay Garde
b926297049 [Impeller] Cleanup Context API. (flutter/engine#35279) 2022-08-09 22:26:04 +00:00
skia-flutter-autoroll
aa3f90e83e Roll Skia from b2b39a9cbdd6 to 93297d54df57 (2 revisions) (flutter/engine#35278) 2022-08-09 22:17:05 +00:00
Dan Field
abbca7b5e4 Revert "Collect textures from toImageSync safely (#35073)" (flutter/engine#35281)
This reverts commit 1f9bb2c26554f53995e7d02afc54a5566ad3310c.
2022-08-09 14:32:32 -07:00
Brandon DeRosier
6e84d3f741 [Impeller] Account for the backend-dependent space of rendered textures in gaussian blur (flutter/engine#35257)
* Add single pass variation to gaussian blur test

* Account for the backend-dependent space of rendered textures in gaussian blur
2022-08-09 13:26:18 -07:00
Dan Field
1f9bb2c265 Collect textures from toImageSync safely (flutter/engine#35073) 2022-08-09 13:21:59 -07:00
Dan Field
71fb6bf64b Migrate gen_locale.dart to null-safety (flutter/engine#35236) 2022-08-09 13:08:54 -07:00
Jonah Williams
b7472ec189 Automatically URI encode asset keys (flutter/engine#35270) 2022-08-09 19:49:04 +00:00
skia-flutter-autoroll
ee81d0baac Roll Skia from b2d197d7c22a to b2b39a9cbdd6 (1 revision) (flutter/engine#35275) 2022-08-09 19:46:05 +00:00
Chris Bracken
4a1f6e5569 Support fixture tests for Windows embedder (flutter/engine#35273)
This adds support for running end-to-end tests that use a live engine to
run Dart test fixtures. This enables testing the public Windows C API in
//flutter/shell/platform/windows/public/flutter_windows.h

This only adds support for a single test entrypoint (main). A followup
patch will add support for this. See:
https://github.com/flutter/flutter/issues/93537

Issue: https://github.com/flutter/flutter/issues/87299
2022-08-09 19:35:32 +01:00
skia-flutter-autoroll
630a77f4c5 Roll Skia from 3c9ce6c56a00 to b2d197d7c22a (2 revisions) (flutter/engine#35271) 2022-08-09 18:07:20 +00:00
Chris Bracken
105625bb77 [Windows] Shut down VM on shutdown of last engine (flutter/engine#35251)
All Flutter engines in the same process share a common Dart VM, which is
launched with the start of the first engine in the process and should be
terminated when the last engine in the process has been deallocated.

Formerly, it was not possible to cleanly shut down and restart the VM in
a process, but this was resolved in the Dart SDK and a flag exposed in
flutter/engine#10652. Since some embedders take advantage of the fact
that the VM remains running after engine shutdown, this flag is not
enabled by default, however it should be enabled for the Windows
embedder, which we control.

No tests added since this is not testable via any API to which the
Windows embedder has access. The behaviour of this flag is tested in the
embedder API tests in `EmbedderTest.VMShutsDownWhenNoEnginesInProcess`
in shell/platform/embedder/tests/embedder_unittests.cc.

Issue: https://github.com/flutter/flutter/issues/109191
2022-08-09 17:44:40 +01:00
skia-flutter-autoroll
c7a1e67109 Roll Skia from faf97e5d2c2b to 3c9ce6c56a00 (2 revisions) (flutter/engine#35268) 2022-08-09 16:36:06 +00:00
skia-flutter-autoroll
c9c0fd7e89 Roll Skia from fd3efc2b83b4 to faf97e5d2c2b (1 revision) (flutter/engine#35266) 2022-08-09 15:27:04 +00:00
Zachary Anderson
630fcc6ccf Revert "Updates objectc script to accept relative paths. (#35190)" (flutter/engine#35265)
This reverts commit 0d334c8f830199bfdf70e08b174bb5570ec8efa9.
2022-08-09 07:16:24 -07:00
skia-flutter-autoroll
216ab76135 Roll Skia from 9e6074e0922c to fd3efc2b83b4 (1 revision) (flutter/engine#35263) 2022-08-09 13:30:16 +00:00
skia-flutter-autoroll
93180c0def Roll Fuchsia Linux SDK from 7q0yjaQTj... to n-AJfzUMF... (flutter/engine#35262) 2022-08-09 11:50:05 +00:00
skia-flutter-autoroll
95e3f61710 Roll Skia from a2a6b3cb1ba9 to 9e6074e0922c (1 revision) (flutter/engine#35260) 2022-08-09 09:39:04 +00:00
skia-flutter-autoroll
260c5df2ab Roll Skia from 6df5d5f92381 to a2a6b3cb1ba9 (1 revision) (flutter/engine#35255) 2022-08-09 05:54:05 +00:00
godofredoc
0d334c8f83 Updates objectc script to accept relative paths. (flutter/engine#35190) 2022-08-09 05:46:04 +00:00
Brandon DeRosier
6eb9d06887 Account for the backend-dependent space of rendered textures in advanced blends (flutter/engine#35250) 2022-08-08 21:16:12 -07:00
skia-flutter-autoroll
8063fbb2c8 Roll Skia from 82b9930b1312 to 6df5d5f92381 (2 revisions) (flutter/engine#35252) 2022-08-09 03:31:05 +00:00
skia-flutter-autoroll
1c39b6f8f0 Roll Skia from 4722605332ef to 82b9930b1312 (9 revisions) (flutter/engine#35242)
https://skia.googlesource.com/skia.git/+log/4722605332ef..82b9930b1312

2022-08-08 brianosman@google.com Simplify some RP data layout and logic
2022-08-08 herb@google.com Drawable: Use the Read/WriteBuffer bulk API for points
2022-08-08 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4b211a6a98e6 to 5e532d83424e (2 revisions)
2022-08-08 cmumford@google.com Rename getRuleCMakeName() to getRuleSimpleName().
2022-08-08 cmumford@google.com Move findRule() into bazel_util.go.
2022-08-08 cmumford@google.com Move isFileTarget() to bazel_util.go
2022-08-08 robertphillips@google.com [graphite] Add system to support client caching of images
2022-08-08 cmumford@google.com Exporting Bazel with more build flags.
2022-08-08 robertphillips@google.com Remove BaseDevice class

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC erikrose@google.com,kaushikiska@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2022-08-08 19:23:38 -07:00
Brandon DeRosier
9b06497323 [Impeller] Add tile modes to gaussian blur (flutter/engine#35249) 2022-08-09 01:30:05 +00:00
Chris Bracken
f935a6d1d9 [Windows] Fix dllimport issue in unit tests (flutter/engine#35246)
In flutter/engine#35106, I landed a parameter type fix for the
declaration of FlutterDesktopEngineGetTextureRegistrar in our public
Windows C API. I also added a unit test that called this function.

That function (and all others) in our public Windows API is marked
FLUTTER_EXPORT, which resolves to __declspec(dllexport) or
__declspec(dllimport) depending on whether FLUTTER_DESKTOP_LIBRARY is
defined. It can be defined by adding the following build config:
//flutter/shell/platform/common:desktop_library_implementation

If the function is marked as an import, we get linker warnings that
we're importing a function that's defined in the same executable image.
This patch resolves this by marking the functions as export.

An alternative fix would be to support a third macro resolution that
resolves to nothing in the presence of some definition like
FLUTTER_NO_EXPORT; however, since flutter_export.h is a public header,
I'd prefer not to complicate it further, and this is a unit test that
can't be linked against either way.

Issue: https://github.com/flutter/flutter/issues/109184
Original issue: https://github.com/flutter/flutter/issues/86617

See: https://github.com/flutter/engine/blob/main/shell/platform/common/public/flutter_export.h
See: 61c0051a63/shell/platform/common/BUILD.gn (L8-L10)

No new tests since this simply fixes a link warning message in unit tests.
2022-08-09 01:04:40 +01:00
Kaushik Iska
16de1bc82c [impeller] [vulkan] Add support for swapchain creation and swapchain (flutter/engine#35199)
images

Also wires up playground surface creation and swapchain setup.
2022-08-08 16:53:28 -07:00