17431 Commits

Author SHA1 Message Date
Brandon DeRosier
83f102353c Wire up stroke cap/join/miter limit display list ops (flutter/engine#105) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
8e42425e96 Add difference clipping (flutter/engine#104) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
458ab4ebb2 Render glyphs at the correct resolution with respect to the current transform (flutter/engine#101) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
951cb1c1ee Make the filter DAG render all textures at the correct resolution (flutter/engine#99) 2022-04-27 15:57:33 -07:00
Chinmay Garde
9e10ab5bc4 Batch all draw calls in the entire text frame. (flutter/engine#100)
Also updates comments that were first written when this wasn't batched.

For some reason, in the original implementation, I had assumed that
styling information was not already in a uniform.
2022-04-27 15:57:33 -07:00
Chinmay Garde
4665aa10f7 Draw all glyphs in a text run using a single draw call. (flutter/engine#97) 2022-04-27 15:57:33 -07:00
Chinmay Garde
0a5450f01d Use 8bpp glyph atlases. (flutter/engine#96)
Also remove the debugging goop as that's only relevant if you can
visualize the background.
2022-04-27 15:57:33 -07:00
Chinmay Garde
3b7aee66ef Add support for instanced rendering and shader storage buffers. (flutter/engine#95) 2022-04-27 15:57:33 -07:00
Chinmay Garde
a6e0e51d75 Implement impeller::DisplayListDispatcher::drawTextBlob. (flutter/engine#94) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
f8ac111920 Separate filters into different TUs (flutter/engine#93) 2022-04-27 15:57:33 -07:00
Jim Graham
ced5c6a49d switch dispatcher methods to new DlImageFilter objects (flutter/engine#92) 2022-04-27 15:57:33 -07:00
JsouLiang
ba523916d6 Use new DlBlendMode object (flutter/engine#78) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
7dff904a6e Apply Aiks transforms in the canvas space, not world space (flutter/engine#91) 2022-04-27 15:57:33 -07:00
Chinmay Garde
0fed35c2f4 Forward blend mode from the dispatchers drawColor call. (flutter/engine#90) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
f6ffc2902e Add blend mode setting to Entity, Aiks paint, and the dispatcher (flutter/engine#89) 2022-04-27 15:57:33 -07:00
Chinmay Garde
6b37654076 Add ClearContents to apply specified contents to the entire render target. (flutter/engine#88) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
7114c36e4a Add directional + 2D gaussian blur (flutter/engine#84) 2022-04-27 15:57:33 -07:00
dependabot[bot]
65bd24664c Bump github/codeql-action from 1.1.4 to 1.1.5 (flutter/engine#83)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1.1.4 to 1.1.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f5d822707e...8834766498)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 15:57:33 -07:00
Brandon DeRosier
4cc86af054 Add blend filter support for advanced blends (flutter/engine#81) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
a1ff981559 Transform clips by the entity's transform (flutter/engine#87) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
6454899a89 Don't use Add[Thing] operations when emulating Skia path components (flutter/engine#86) 2022-04-27 15:57:33 -07:00
Chinmay Garde
ee60abd0fb Impelement DisplayListDispatcher::transformReset. (flutter/engine#82)
Added in https://github.com/flutter/engine/pull/32050
2022-04-27 15:57:33 -07:00
Jim Graham
b132e64e72 update the linear gradient code to the new accessor names (flutter/engine#80) 2022-04-27 15:57:33 -07:00
Jim Graham
5af4c5f43e Use new DlColorSource objects (flutter/engine#73) 2022-04-27 15:57:33 -07:00
Chinmay Garde
5285acbdf2 Add case necessary on 32-bit arm builds. (flutter/engine#79)
Offset is a uint64_t that needs a cast.
2022-04-27 15:57:33 -07:00
Chinmay Garde
bdf452ec7f Fix issues with constexpr correctness. (flutter/engine#77)
Some like std::abs are not available till C++23. The others were
real warnings.
2022-04-27 15:57:33 -07:00
Brandon DeRosier
9f1bc52214 Add remaining additive blends (flutter/engine#76) 2022-04-27 15:57:33 -07:00
Chinmay Garde
39c77c422f Fix loop-range-construct warnings added in newer versions of Clang. (flutter/engine#75) 2022-04-27 15:57:33 -07:00
Chinmay Garde
ecdb8e869b Only depend on FML for tracing when building executables. (flutter/engine#72)
Otherwise, depending on Impeller will cause an explicit dependency on
whatever VM variant :libdart picks. And, some other unit-test in the
engine explicitly link in the JIT variant which leads to duplicate
symbol errors in profile and release modes.
2022-04-27 15:57:33 -07:00
Chinmay Garde
0cef8082c3 Fix diagnostic on iOS simulators. (flutter/engine#71) 2022-04-27 15:57:33 -07:00
Chinmay Garde
0648a2a261 Document GN rules and make targets that cannot be built on the platform be no-ops. (flutter/engine#70) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
c89c9b9585 Chainable texture filters (flutter/engine#67) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
d0e290089d Correct default blend mode, fix solid stroke shader to respect premultiplied source colors (flutter/engine#69) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
f3ff1c9220 Hack to prevent back-to-back playground tests from hanging (flutter/engine#68) 2022-04-27 15:57:33 -07:00
Chinmay Garde
90f6df0cdc Fix top-level build group to not include the compiler and fixup headers. (flutter/engine#66)
Targets in the engine had to individually depend on each sub-target in Impeller when all they cared about was all the client libs. The compiler is a build time implicit dependency. So that has been removed from the top-level group.

Also fixed all the headers so that TUs within Impeller don't care about where Impeller itself sits in the source tree.
2022-04-27 15:57:33 -07:00
Dan Field
21f06276ec [tessellator]Expose and document smoothing approximation via the C/Dart API. Minor refactor of tessellator to supply fill type to method rather than to object. (flutter/engine#65) 2022-04-27 15:57:33 -07:00
dependabot[bot]
bf9e13678c Bump actions/checkout from 2.4.0 to 3 (flutter/engine#50)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](ec3a7ce113...a12a3943b4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 15:57:33 -07:00
dependabot[bot]
5b560c7798 Bump actions/upload-artifact from 2.3.1 to 3 (flutter/engine#54)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.1 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](82c141cc51...6673cd052c)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 15:57:33 -07:00
Brandon DeRosier
34e8a9c807 Correct polyline bounds test (flutter/engine#64) 2022-04-27 15:57:33 -07:00
Chinmay Garde
615d4e8413 Add a script that checks that all source files have a valid license block. (flutter/engine#63)
Also fixes the files with missing licenses. This check is somewhat easy with
Impeller than in the engine because all source files must have the same license
block.

Resolves an action item in the umbrella issue https://github.com/flutter/flutter/issues/97686.
2022-04-27 15:57:33 -07:00
Chinmay Garde
ce3148e2ec Move impeller::Comparable to //impeller/base. (flutter/engine#62)
Just some minor cleanup. Fixes https://github.com/flutter/flutter/issues/98686.
2022-04-27 15:57:33 -07:00
Chinmay Garde
fec775c42b Add LICENSE file. (flutter/engine#61)
Matches the one in the engine exactly as described in the [umbrella issue](https://github.com/flutter/flutter/issues/97686).
2022-04-27 15:57:33 -07:00
Dan Field
45f8edd2a7 Make Path::Polyline::GetContourPointBounds safe for OOB (flutter/engine#60) 2022-04-27 15:57:33 -07:00
Dan Field
6fc72b98a7 Remove FML dependency on geometry, tessellator (flutter/engine#59)
* Remove FML dependency on geometry, tessellator

* update readme
2022-04-27 15:57:33 -07:00
dependabot[bot]
fe71a72fbf Bump github/codeql-action from 1.1.3 to 1.1.4 (flutter/engine#58)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](75f07e7ab2...f5d822707e)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 15:57:33 -07:00
Brandon DeRosier
c3b3dc77c3 Add pipeline blend modes & demo (flutter/engine#55) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
7b08462a43 Add color premultiply/unpremultiply (flutter/engine#57) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
d27968af0a Fix ScalarNearlyEqual test (flutter/engine#56) 2022-04-27 15:57:33 -07:00
Dan Field
075872789a Expose C API for tessellator, move to own subdir (flutter/engine#18) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
a8df85911f Move Contents classes into separate translation units (flutter/engine#53) 2022-04-27 15:57:33 -07:00