* 28af36b9d Merge entity renderer impl into the entity renderer.
* 08f00cd5e Move entity shaders to their own directory.
* e95252f06 Shorten names of the render target attachment descriptors.
* b5ed864d7 Fixup names of pipeline descriptors.
* 531162ff5 Minor fixups to pipeline creation.
* a09363684 Make pipelines store pipeline descriptors.
* 612b54fd7 Start consolidating content rendering.
* 27473322e Separate save layer calls into a canvas pass.
* 97455db0f Start wiring up the entity playground.
* 778fc113b Allow shader libraries to look at multiple shader dylibs.
* 5405b9a6f Implement texture mapping.
* 866045d5f WIP on stroke rendering.
* d35f10ab1 Insert additional padding at the end of the struct if the size of the struct does not satisfy the alignment requirements of all its members.
* 41ed619fc Fix struct padding calculations.
* ac10b798e Rendering of continuous strokes.
* ede764556 Cleanup entity API.
* 9ce9a81d5 WIP Add test for clip rendering.
* 05705810a Add support for typed commands.
* 9c88b09aa Give the default render target a stencil buffer.
* 60c3b2191 Implement stencil-only clips.
* 65ffd0482 Rework canvas passes in prep for subpasses.
* 38d4abac5 Renderer components no longer need a surface reference to function.
* 17d301b96 WIP on creating utils for creating offscreen render targets.
* 935931173 Fix bug in texture usage mask.
* 3f417887c Setup aiks for canvas subpasses.
* ab16b0bc8 Setup canvas pass hierarchies.
* 3a8fb57fc Canvas subpasses rendering into their own command buffers.
* 398b74fac Work towards making canvas subpasses configure postprocessing effects.
* bb633cade Fix alpha writes while rendering to texture.
* f9a6a2cb1 Fixup ortho calculations and add ostream printers for geometry utils.
* 18f8e729b Setup a framework to collapse passes.
* d00efdd5f Move entity pass management to the entity framework.
* ead8058c9 Setup a paint pass delgate.
* ed8b78a96 Allow entity passes to be elided based on their contents.
* 026dcd191 Turn on full-screen 4xMSAA by default and additional render target validations.
* 603b91575 Add render pass and pipeline sample count validation.
* 30f28f161 All creation of pipeline variants from a pipeline.
* 2b7848053 Allow for the on-demand creation and caching of pipeline variants from the prototype.
* 723ca3b97 Add more validation logs instead of FML logs.
* 6d871081a Implement Canvas::Skew.
* 18399a5ff Implement Canvas::SaveLayer with bounds.
* 4234b343d Minor: Add Canvas::Transform.
* 8e90d388d Rect union and intersection.
* 4417fa637 Don't let subpass coverage exceed entity coverage.
* a63c04785 Remove unused and confusing API in TRect.
* 20d22fd3e Add macOS availability checks.
* 05e9f893a Add missing availability check for macOS 10.12.
* cb547949c Fix broken test.
* e3d435755 Support non-uniform rounding radii.
* 10487e3c1 Stub out a display list dispatcher.
* f83a0211a Support path fill types.
* 66096b5ba Add support for path composition in path builder.
* d3626cd1f Implement conversion SkPath to Impeller paths.
* 98c18b3e1 Import the archivist framework.
* 147e64fbd Update translation units for style guide.
* 8d7d8e653 Cleanup archive structure.
* 89589cc3d Separate archive_location into its own TU.
* 547fc005e Clearer names for primary keys.
* 4a6e2d07f Add uncommitted patches from a previous change.
* 0c595a929 More use of optionals in archivist.
* 52891357c Make primary keys optional.
* 7b3ab4178 Minor: Rename primary key variable name.
* 188890c35 Support user readable table names.
* 94b9bfd7c Add error message for incorrect member lookup.
* 95386ed3f Remove superfluous auto_key from ArchiveDef.
* bf24ff925 Cleanup macros in archive statement.
* 85b8a0093 Remove remaining C-Style casts.
* 4ca5af44c Fix temporary database file deletion.
* 84eee265a Fix iOS compilation issues.
* a104fa53d Update GN rules for Flutter updates.
* a404064ac Minor: Rename the Impeller dispatcher to be something sane and prep for sidecar wireup.
* 57a0728c1 Rework the confusingly named renderer subsystem instances.
* db3c4a11d Make the Metal drawable wrapping routine from the playground a utility.
* 7566d670c Minor: Change the names of the intermediates for the wrapped render target.
* 0016e4808 Allow resizing the playground.
* 64e3b29ee Holy size savings Batman!
* 3ac38d8b1 Forward targets specification to the code generator in impellerc.
* 0b63e2cc2 Shader data can now be compiled into the binary.
* 86c91dc62 Fix pipeline library issue related to not tracking pending futures.
* 687f18991 Don't waste space on an unnecessary depth buffer.
* 8748c7687 Setup default pixel formats.
* f282f414b Remove support for the weird 5 byte pixel format.
* 7e5364a4d Minor: Account for macro namespacing.
* c66b7fb34 IOS macros have not been namespaced yet.
* f70087318 Gate the minimum iOS deployment versions in the generated shaders.
* 819b0336f Cross reference issues and add additional tracing.
* 169abed1c Add a README.
* c251e079a Fixup minor Markdown formatting issues in the README.
* 6d520d234 Add an image overview of the shader compilation pipeline.
* a449707c0 Link to the shader pipeline from the README.
* 844d40063 Enable playgrounds in all tests and fix default sample counts.
* 9c536958c Update tests to account for sample count defaults.
* 14bf82761 Back out changes to the Impeller dispatcher stub that depend on WIP interface changes. (flutter/engine#3)
* 2a6bb6eb3 create scorecards-analysis.yml (flutter/engine#4)
* fec03558c Use -M0 instead of -frecord-sources (flutter/engine#5)
* e982526e8 Compensate for change to saveLayer (flutter/engine#6)
* 14ec50ada Adds a GN flag for playgrounds (flutter/engine#7)
* 3d422b2f7 Wrap all MD files at 80 cols, minor cleanup of headers/indenting (flutter/engine#8)
* ca3433db3 Fix Rect::Compare bugs (flutter/engine#10)
* e768f4d0a adopt new DlColorFilter objects (flutter/engine#12)
* 88f4c24ac Support 16bit index buffers (flutter/engine#11)
* dde655fdd Add viewport and scissor support (flutter/engine#9)
* 4220ef372 Add cull mode to command (flutter/engine#13)
* 9b2cbc13c Support nested clips & clip state restoration (flutter/engine#14)
* a2f755518 Fix bug introduced in a476b92 which broke a bunch of tests (flutter/engine#15)
* e7f90736b changes for new DlMaskFilter objects (flutter/engine#17)
* ba1ecb66c Add baseVertex (flutter/engine#16)
* 542b8c4c3 Fix index size check to respect 16 bit buffers (flutter/engine#19)
* 26090e475 Add mixed type specializations on algebraic ops in TPoint (flutter/engine#21)
* cb9997ab9 Respect TextureContents/Canvas::DrawImageRect source rect (flutter/engine#22)
* 9ecbb76c5 Add an ImGui backend targetting Impeller to the playground (flutter/engine#20)
* 604a93f96 Fix prod build (flutter/engine#23)
* 6cd7a4553 Bad cubic tests (flutter/engine#24)
* e94acaae6 Match skia's path param ordering (flutter/engine#25)
* b26c6ac38 Do not include the leading point for cubic polylines (flutter/engine#29)
* bafa73b54 Add assignment operators to point (flutter/engine#26)
* 2373da89f Add entity playground callback (flutter/engine#27)
* 2dceced0e adopt new DlAttributeType enum naming (flutter/engine#30)
* f41c0a93e Support subcontours in strokes, lay groundwork for fills (flutter/engine#31)
* 4be3053ec Add immediate mode manipulator widget macros for the playground (flutter/engine#28)
* f0a7b4e90 Fix MoveTo for fills (flutter/engine#32)
* df2485c90 Add dot and cross product to Point (flutter/engine#33)
* 3cff1a93b Remove duplicate points between connected components when generating polylines (flutter/engine#34)
* 451f93e83 Handle all corner cases for stroke geometry, add bevel join & cap/join enums (flutter/engine#35)
* 0dae5ada0 Add `//impeller/typographer`. (flutter/engine#36)
* e1a9ae853 Remove schedule runs of scorecards. (flutter/engine#38)
* 8d79ce674 Bump ossf/scorecard-action from 1.0.3 to 1.0.4 (flutter/engine#40)
* 137fa4816 Fix license to make the license script happy (flutter/engine#37)
* 91ec4c207 Bump github/codeql-action from 1.0.26 to 1.1.3 (flutter/engine#39)
* 62135be77 Remove break corner cases, simplify strokes, and generate closed path joins (flutter/engine#41)
* 9f9c557ec Account for glyph extents in the atlas. (flutter/engine#42)
* 4e323c6fd Relay text color from Paint. (flutter/engine#43)
* c11f4083d Account for updated macro name in //flutter/fml/build_config.h (flutter/engine#44)
* a781e2f9a Setup join/cap proc (flutter/engine#45)
* 555fabaa0 Avoid depending on STB in //flutter/impeller/image. (flutter/engine#47)
* d84a831d8 Add square cap (flutter/engine#48)
* 75e83ff3e Point: Add reflect and make scalar ops more flexible (flutter/engine#51)
* d9e792783 Add miter join (flutter/engine#49)
* 905895695 Add round caps and joins (flutter/engine#52)
* c81fbbdac Move Contents classes into separate translation units (flutter/engine#53)
* 9d6048ab0 Expose C API for tessellator, move to own subdir (flutter/engine#18)
* 2a1b56096 Fix ScalarNearlyEqual test (flutter/engine#56)
* 845c3bc07 Add color premultiply/unpremultiply (flutter/engine#57)
* 6f9fa60b0 Add pipeline blend modes & demo (flutter/engine#55)
* 0936dfaee Bump github/codeql-action from 1.1.3 to 1.1.4 (flutter/engine#58)
* 6da61e7fd Remove FML dependency on geometry, tessellator (flutter/engine#59)
* b14fb96b3 Make Path::Polyline::GetContourPointBounds safe for OOB (flutter/engine#60)
* 24d7083c9 Add LICENSE file. (flutter/engine#61)
* 841bb991b Move impeller::Comparable to //impeller/base. (flutter/engine#62)
* 74dff11d5 Add a script that checks that all source files have a valid license block. (flutter/engine#63)
* ec27727a2 Correct polyline bounds test (flutter/engine#64)
* 0084668ec Bump actions/upload-artifact from 2.3.1 to 3 (flutter/engine#54)
* b816f8f4f Bump actions/checkout from 2.4.0 to 3 (flutter/engine#50)
* e5fc54887 [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)
* 24e249a4f Fix top-level build group to not include the compiler and fixup headers. (flutter/engine#66)
* 9c3cbf855 Hack to prevent back-to-back playground tests from hanging (flutter/engine#68)
* 1828c4c89 Correct default blend mode, fix solid stroke shader to respect premultiplied source colors (flutter/engine#69)
* b3cbf05b8 Chainable texture filters (flutter/engine#67)
* f3a6b3e1b Document GN rules and make targets that cannot be built on the platform be no-ops. (flutter/engine#70)
* 597c10eb1 Fix diagnostic on iOS simulators. (flutter/engine#71)
* e46345db6 Only depend on FML for tracing when building executables. (flutter/engine#72)
* d0c59286c Fix loop-range-construct warnings added in newer versions of Clang. (flutter/engine#75)
* b97e965b7 Add remaining additive blends (flutter/engine#76)
* ec1dd96b0 Fix issues with constexpr correctness. (flutter/engine#77)
* 47cb97c35 Add case necessary on 32-bit arm builds. (flutter/engine#79)
* f5db75a15 Use new DlColorSource objects (flutter/engine#73)
* 75a9853fe update the linear gradient code to the new accessor names (flutter/engine#80)
* e381974b1 Impelement DisplayListDispatcher::transformReset. (flutter/engine#82)
* 8784ff4be Don't use `Add[Thing]` operations when emulating Skia path components (flutter/engine#86)
* 9e33c6fc1 Transform clips by the entity's transform (flutter/engine#87)
* d916e2c7c Add blend filter support for advanced blends (flutter/engine#81)
* 396ef7d0a Bump github/codeql-action from 1.1.4 to 1.1.5 (flutter/engine#83)
* 503dff6b0 Add directional + 2D gaussian blur (flutter/engine#84)
* 6e778862f Add ClearContents to apply specified contents to the entire render target. (flutter/engine#88)
* 688321533 Add blend mode setting to Entity, Aiks paint, and the dispatcher (flutter/engine#89)
* 1d6dc1e68 Forward blend mode from the dispatchers drawColor call. (flutter/engine#90)
* 5b1b9dfbf Apply Aiks transforms in the canvas space, not world space (flutter/engine#91)
* b32a65fe9 Use new DlBlendMode object (flutter/engine#78)
* 47ff8dbed switch dispatcher methods to new DlImageFilter objects (flutter/engine#92)
* 3235eac2a Separate filters into different TUs (flutter/engine#93)
* f2d23512b Implement impeller::DisplayListDispatcher::drawTextBlob. (flutter/engine#94)
* a6b0939fc Add support for instanced rendering and shader storage buffers. (flutter/engine#95)
* 47e9b0853 Use 8bpp glyph atlases. (flutter/engine#96)
* 86c5ea4f3 Draw all glyphs in a text run using a single draw call. (flutter/engine#97)
* 32b5a8dd7 Batch all draw calls in the entire text frame. (flutter/engine#100)
* 39f4ebd75 Make the filter DAG render all textures at the correct resolution (flutter/engine#99)
* 0aaa84e5c Render glyphs at the correct resolution with respect to the current transform (flutter/engine#101)
* eb7b7d187 Add difference clipping (flutter/engine#104)
* 6f02b8943 Wire up stroke cap/join/miter limit display list ops (flutter/engine#105)
* cbd14baf1 Premultiply gradient colors (flutter/engine#106)
* 9886da891 Use display list images. (flutter/engine#102)
* 82a340332 Make filter inputs lazy and sharable (flutter/engine#103)
* 69334fd7b Implement drawArc (flutter/engine#109)
* 6de2c9c56 support new DlVertices object in dispatcher (flutter/engine#108)
* 31812de08 Bump github/codeql-action from 1.1.5 to 2.1.6 (flutter/engine#110)
* 78eb5d67f Add blur styles to gaussian blur (flutter/engine#107)
* c4f1a592d Fix solid stroke contour switching + round cap smoothing, and add transparent path overdraw example (flutter/engine#112)
* f2bf47d25 Fix SaveLayer/entity subpass behavioral problems (flutter/engine#111)
* 2dd379708 Wire up enhanced command buffer error reporting. (flutter/engine#113)
* 6e8368c47 Remove extra point from DrawRect; skip over duplicate contour points when generating polylines (flutter/engine#114)
* 93c59198b Explicitly wait for subpass buffers to be scheduled. (flutter/engine#115)
* f2e297c1f Bump github/codeql-action from 2.1.6 to 2.1.7 (flutter/engine#116)
* e09b0ed12 Add static thread safety analysis ready synchronization primitives. (flutter/engine#117)
* 8075d383f Standardize around "coverage" terminology; make coverage optional everywhere (flutter/engine#118)
* 685ae23ad Add explicit scaling methods for Point/Vector2 (flutter/engine#119)
* af922f9d4 Ignore the stencil in the imgui pipeline (flutter/engine#120)
* 4248b5d2a Use the stencil buffer to avoid overdraw when rendering non-opaque solid strokes. (flutter/engine#121)
* 93035a4cd Remove base.h from base/BUILD (flutter/engine#122)
* 20148b270 Standardize around blur sigma<->radius conversion factor (flutter/engine#123)
* 533b86d3d No newline in depfile output, which seems to confuse ninja (flutter/engine#125)
* 0ed6d4c4a Fix Path::GetBoundingBox crash for cubics with no local min/max (flutter/engine#126)
* 1a055b08a Add solid stroke coverage override (flutter/engine#127)
* 3bc1f3340 Allow building targets that do not create metal shaders on all platforms. (flutter/engine#133)
* 43a750813 Move rendering TUs behind own flag (flutter/engine#134)
* 3c9f0e147 Build fixes for roll (flutter/engine#135)
* f6508c108 Remove extra premultiply from solid stroke/fill (flutter/engine#124)
* 999978fa9 Fix enum typedef for older mac SDKs (flutter/engine#136)
* 9c4018f10 Filters: Replace Snapshot position with a full transform (flutter/engine#130)
* ca3cd7f77 Move static methods to anonymous namespace (flutter/engine#137)
* f1c1b68c5 Adds --sksl target to impellerc (flutter/engine#131)
* fa68eb6eb Bump github/codeql-action from 2.1.7 to 2.1.8 (flutter/engine#128)
* a08cb8b4f Border mask blur (flutter/engine#132)
* a4599bf6f Add impellerc options to compile OpenGL Desktop and ES variant shaders. (flutter/engine#139)
* 8b881c634 Compute text coverage; use blend mode in savelayer; conservative pass collapse/elision behavior (flutter/engine#129)
* 3b1dfc4a4 Add an OpenGL ES stub and parameterize all playgrounds on rendering backend. (flutter/engine#141)
* 4d5031540 Fix subpass ordering (flutter/engine#143)
* 80bb5f953 Windows (flutter/engine#144)
* 79f2e86a4 Compile and package all shaders for the OpenGL ES backend. (flutter/engine#146)
* f86c9b72a Implement mask blur in display list dispatcher (flutter/engine#142)
* 01e81ef7e Fix Mac compilation issue. (flutter/engine#147)
* 2b48a800e Fix up build/test issues when building on or off of mac (flutter/engine#148)
* 68d88aeb4 Filters: Add local transforms (flutter/engine#140)
* df261f9d9 Fix minor mask blur issues (flutter/engine#149)
* c5474f6f0 Untie paths from entities (flutter/engine#145)
* 69b676c49 Bump actions/checkout from 3.0.0 to 3.0.2 (flutter/engine#151)
* 8679fe78e Remove dependency on Dart, add crash handler to impellerc (flutter/engine#150)
* 56056357f Use New DlPathEffect Object (flutter/engine#98)
* cd1a5a355 implement drawDisplayList in impeller dispatcher (flutter/engine#153)
* 5ec32d7ed Revert "Use New DlPathEffect Object (#98)" (flutter/engine#154)
* da9cfb3ca Separate FilterInput variants into their own TUs (flutter/engine#152)
* 3ebfe9e05 Another coverage fix for border mask blur (flutter/engine#158)
* 86fdc7912 Make it an error for a stage input to take more than one slot. (flutter/engine#161)
* 120c0b631 Avoid instancing/SSBOs for text to support GLES (flutter/engine#160)
* 4c75fe6e3 Set path for linear gradient contents; don't fail renders for failed tessellations (flutter/engine#162)
* dd4d7050e Check if sub_command_buffer is null before setting label (flutter/engine#163)
* d5f978195 format
* e676fd7a8 Missing files
* 89a30a729 temporarily increase clang_tidy test limits
* 7f0e95b1e Delete DartIsolateTest::ValidLoadingUnitSucceeds (flutter/engine#32970)
* 80c04d70c Delete AppLifecycleTests testDismissedFlutterViewControllerNotRespondingToApplicationLifecycle (flutter/engine#32971)