22447 Commits

Author SHA1 Message Date
Brandon DeRosier
bc4e15c4cb Use the stencil buffer to avoid overdraw when rendering non-opaque solid strokes. (flutter/engine#121)
Fixes https://github.com/flutter/flutter/issues/101330
2022-04-27 15:57:33 -07:00
Brandon DeRosier
15efb79d10 Ignore the stencil in the imgui pipeline (flutter/engine#120) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
69fb1c897e Add explicit scaling methods for Point/Vector2 (flutter/engine#119) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
fa740cad04 Standardize around "coverage" terminology; make coverage optional everywhere (flutter/engine#118) 2022-04-27 15:57:33 -07:00
Chinmay Garde
3c2ea47abf Add static thread safety analysis ready synchronization primitives. (flutter/engine#117) 2022-04-27 15:57:33 -07:00
dependabot[bot]
012413f360 Bump github/codeql-action from 2.1.6 to 2.1.7 (flutter/engine#116)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](28eead2408...0182a2c78c)

---
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
Chinmay Garde
90e5befb67 Explicitly wait for subpass buffers to be scheduled. (flutter/engine#115)
This is pending the addition of explicit synchronization primitives to
Impeller. It is unclear what the addition of such primitives would mean
to the future OpenGL ES backend.
2022-04-27 15:57:33 -07:00
Brandon DeRosier
025b9b2e24 Remove extra point from DrawRect; skip over duplicate contour points when generating polylines (flutter/engine#114) 2022-04-27 15:57:33 -07:00
Chinmay Garde
f42fc14df6 Wire up enhanced command buffer error reporting. (flutter/engine#113) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
7b630497e3 Fix SaveLayer/entity subpass behavioral problems (flutter/engine#111) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
b2abb9a511 Fix solid stroke contour switching + round cap smoothing, and add transparent path overdraw example (flutter/engine#112) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
95dfbcf504 Add blur styles to gaussian blur (flutter/engine#107) 2022-04-27 15:57:33 -07:00
dependabot[bot]
bb6e006787 Bump github/codeql-action from 1.1.5 to 2.1.6 (flutter/engine#110)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1.1.5 to 2.1.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](8834766498...28eead2408)

---
updated-dependencies:
- dependency-name: github/codeql-action
  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
Jim Graham
7aa83ce681 support new DlVertices object in dispatcher (flutter/engine#108) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
a0e34818a9 Implement drawArc (flutter/engine#109) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
e1bda0b4f9 Make filter inputs lazy and sharable (flutter/engine#103) 2022-04-27 15:57:33 -07:00
Chinmay Garde
bc8eb90c27 Use display list images. (flutter/engine#102) 2022-04-27 15:57:33 -07:00
Brandon DeRosier
ff91b522dd Premultiply gradient colors (flutter/engine#106) 2022-04-27 15:57:33 -07:00
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