1. 28 Apr, 2022 11 commits
    • Taha Tesser's avatar
    • Kate Lovett's avatar
    • engine-flutter-autoroll's avatar
    • engine-flutter-autoroll's avatar
    • engine-flutter-autoroll's avatar
    • engine-flutter-autoroll's avatar
    • engine-flutter-autoroll's avatar
    • engine-flutter-autoroll's avatar
    • engine-flutter-autoroll's avatar
      Roll Engine from b75aaa34f16d to 80c04d70c0d6 (435 revisions) (#102704) · faab7f81
      engine-flutter-autoroll authored
      * 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)
      faab7f81
    • engine-flutter-autoroll's avatar
    • Gary Qian's avatar
      Remove Linux android views (#102699) · a622b6a5
      Gary Qian authored
      a622b6a5
  2. 27 Apr, 2022 29 commits