Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[canvaskit] Enable CanvasKit to compute tight SkPicture bounds #43361

Merged
merged 215 commits into from
Aug 1, 2023
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
94d89e1
WIP use BBHFactory for Picture cullRect
harryterkelsen Jun 30, 2023
5517770
Add tests for cullRect and approximateBytesUsed
harryterkelsen Jun 30, 2023
fb56ada
Merge branch 'main' into canvaskit-rtree
harryterkelsen Jul 7, 2023
79d36ff
Add test to canvaskit_api_test.dart
harryterkelsen Jul 7, 2023
e1c5ad5
Fix tests
harryterkelsen Jul 7, 2023
3490384
Add test for cullRect with infinite draw size
harryterkelsen Jul 7, 2023
97f9c1d
Adjust for comments
harryterkelsen Jul 12, 2023
2da248b
Merge branch 'main' into pr/hterkelsen/43361
harryterkelsen Jul 12, 2023
72a3760
[Impeller] Allocate buffers out of a pool on the raster thread. (#43564)
jonahwilliams Jul 12, 2023
3e7e62e
[Impeller] Add support to embedder for Impeller on GL (via Angle on W…
jonahwilliams Jul 13, 2023
689902f
Roll Skia from bedc92598644 to 6ed93436d57c (3 revisions) (#43621)
skia-flutter-autoroll Jul 13, 2023
9629c80
Roll Fuchsia Mac SDK from 0fvk838jTDNQ_l43k... to 3C7P0w8ySmtqpyi3S..…
skia-flutter-autoroll Jul 13, 2023
5b8fcd7
Roll Dart SDK from 8f8f281ccdc6 to f499e91e8cb2 (3 revisions) (#43623)
skia-flutter-autoroll Jul 13, 2023
88f9b40
Roll Skia from 6ed93436d57c to 7f391ea9164e (1 revision) (#43625)
skia-flutter-autoroll Jul 13, 2023
917fa47
Roll Fuchsia Linux SDK from 1STsUj0X5YgpiSNEb... to xBJq6PsO5ebblODMe…
skia-flutter-autoroll Jul 13, 2023
05a17c2
[Impeller] Add RAII wrappers for VMA objects. (#43626)
chinmaygarde Jul 13, 2023
9265fc6
Roll Skia from 7f391ea9164e to c8da0c657c4e (1 revision) (#43628)
skia-flutter-autoroll Jul 13, 2023
bff04a5
[Impeller] Remove unactionable error logs and use structure chains fo…
chinmaygarde Jul 13, 2023
d949031
Roll Skia from c8da0c657c4e to 811b046c673b (3 revisions) (#43630)
skia-flutter-autoroll Jul 13, 2023
e969dba
Make GOMA state automatic by default (#43584)
Hixie Jul 13, 2023
b063f17
Roll Skia from 811b046c673b to e5ec341bc3ca (1 revision) (#43631)
skia-flutter-autoroll Jul 13, 2023
cf3d53a
Roll Dart SDK from f499e91e8cb2 to ade4dae923f3 (1 revision) (#43632)
skia-flutter-autoroll Jul 13, 2023
05ac165
Roll Skia from e5ec341bc3ca to 56b68ce6196c (1 revision) (#43633)
skia-flutter-autoroll Jul 13, 2023
c83f753
Apply the transform of an image filter layer to paint bounds in the C…
jason-simmons Jul 13, 2023
51225b0
Roll Dart SDK from ade4dae923f3 to 16ddfe8d08e0 (1 revision) (#43634)
skia-flutter-autoroll Jul 13, 2023
b6af313
Roll Fuchsia Mac SDK from 3C7P0w8ySmtqpyi3S... to rRUd41Mv9NI0n3Iyc..…
skia-flutter-autoroll Jul 13, 2023
8a1d669
Roll Skia from 56b68ce6196c to c2d28b15c246 (1 revision) (#43638)
skia-flutter-autoroll Jul 13, 2023
f1ab32e
Roll Fuchsia Linux SDK from xBJq6PsO5ebblODMe... to -csWUV7Dv3hETOoDw…
skia-flutter-autoroll Jul 13, 2023
ef4f936
Roll Skia from c2d28b15c246 to 743ad92f5de2 (4 revisions) (#43640)
skia-flutter-autoroll Jul 13, 2023
0f8f3fc
Improve Stencil Playground test (#43641)
johnmccutchan Jul 13, 2023
dda5794
[web] TextField a11y focus should call didGain/didLose a11y focus act…
chunhtai Jul 13, 2023
15e2f02
Revert "Add a flag to `ParagraphBuilder` for rounding hack migration"…
LongCatIsLooong Jul 13, 2023
740e09f
Add logs to debug VM Service Publication (#43616)
vashworth Jul 13, 2023
8f39d5e
[Impeller] Switch back to using explicit flush for device buffers. (#…
jonahwilliams Jul 13, 2023
323d664
Roll Dart SDK from 16ddfe8d08e0 to 9506d0c9f5ef (1 revision) (#43646)
skia-flutter-autoroll Jul 13, 2023
8f2c82f
Fix a Fuchsia formatter type mismatch flagged by the pending Clang ro…
jason-simmons Jul 13, 2023
9d55115
Roll Skia from 743ad92f5de2 to 52613fcc0780 (9 revisions) (#43655)
skia-flutter-autoroll Jul 13, 2023
eb552dd
Revert https://github.com/flutter/engine/pull/43533 (#43654)
dnfield Jul 13, 2023
b2e5d1e
Unmerge threads if the current merger is the only one that's merged. …
Jul 13, 2023
9d1ae0f
Reland #43118 "Add a flag to ParagraphBuilder for rounding hack migra…
LongCatIsLooong Jul 13, 2023
d45d39b
[Impeller] no-op fragment program on Android until it works. (#43657)
jonahwilliams Jul 13, 2023
1a9f10e
Roll Skia from 52613fcc0780 to 9e4f5cc3aeb4 (1 revision) (#43659)
skia-flutter-autoroll Jul 13, 2023
89332e5
Fix a clang-tidy warning about a potentially nil value in the editing…
jason-simmons Jul 13, 2023
6e1f997
Remove unimplemented API call saveCompilationTrace (#43656)
Hixie Jul 14, 2023
7234763
Add more points to [MediaQuery]. (#43649)
Hixie Jul 14, 2023
b5516ab
Roll Dart SDK from 9506d0c9f5ef to 8f49edfb6989 (1 revision) (#43665)
skia-flutter-autoroll Jul 14, 2023
9f929a5
Roll Skia from 9e4f5cc3aeb4 to ffed127e8974 (1 revision) (#43666)
skia-flutter-autoroll Jul 14, 2023
8646935
Roll Fuchsia Mac SDK from rRUd41Mv9NI0n3Iyc... to J0oxaSt651gKgDreU..…
skia-flutter-autoroll Jul 14, 2023
a44d919
Roll Fuchsia Linux SDK from -csWUV7Dv3hETOoDw... to LZPMbHnVPFdbXndcX…
skia-flutter-autoroll Jul 14, 2023
14f5bc8
Roll Skia from ffed127e8974 to 2848267f631d (3 revisions) (#43670)
skia-flutter-autoroll Jul 14, 2023
62f732f
Roll Dart SDK from 8f49edfb6989 to 8e4eac435b49 (1 revision) (#43671)
skia-flutter-autoroll Jul 14, 2023
76dd542
Roll Skia from 2848267f631d to 8192de1efc1b (1 revision) (#43672)
skia-flutter-autoroll Jul 14, 2023
b96e95d
Use utf8.encode() instead of longer const Utf8Encoder.convert() (#43675)
mkustermann Jul 14, 2023
5e7194a
Roll Skia from 8192de1efc1b to 7990401d716a (1 revision) (#43678)
skia-flutter-autoroll Jul 14, 2023
9017ec1
Roll Dart SDK from 8e4eac435b49 to 3701605e0abf (1 revision) (#43679)
skia-flutter-autoroll Jul 14, 2023
dccfd01
Roll Skia from 7990401d716a to b4b9c76206f3 (1 revision) (#43681)
skia-flutter-autoroll Jul 14, 2023
3e8f30d
Roll Fuchsia Mac SDK from J0oxaSt651gKgDreU... to Z-1lzZAOYHvVrdjQ8..…
skia-flutter-autoroll Jul 14, 2023
a7f00ab
Roll Skia from b4b9c76206f3 to de6099518f90 (4 revisions) (#43687)
skia-flutter-autoroll Jul 14, 2023
4f6728c
Fix DisplayListMatrixClipTracker handling of diff clips (#43664)
flar Jul 14, 2023
aa612dc
Roll Skia from de6099518f90 to c14fda1cb615 (1 revision) (#43689)
skia-flutter-autoroll Jul 14, 2023
f03ebc6
Add missing Skia #includes (#43680)
kjlubick Jul 14, 2023
749c122
More fixes for the new clang-tidy roll on iOS targets (#43688)
jason-simmons Jul 14, 2023
9d578e6
Roll Dart SDK from 3701605e0abf to d1fcadf22aad (1 revision) (#43692)
skia-flutter-autoroll Jul 14, 2023
872fe34
[Impeller] remove requests for dedicated allocations. (#43686)
jonahwilliams Jul 14, 2023
cf9046f
Roll Skia from c14fda1cb615 to 315c7f08c731 (3 revisions) (#43700)
skia-flutter-autoroll Jul 14, 2023
2908971
Remove calls to SkCanvas::flush() (#43684)
kjlubick Jul 14, 2023
d94c688
Roll Fuchsia Linux SDK from LZPMbHnVPFdbXndcX... to DEENqWMCYI1SMYsYH…
skia-flutter-autoroll Jul 14, 2023
2c8fd18
[Impeller] defer construction of VkCommandBuffer until encoding begin…
jonahwilliams Jul 14, 2023
7dc8be3
Roll Skia from 315c7f08c731 to 5f6578398870 (4 revisions) (#43704)
skia-flutter-autoroll Jul 14, 2023
eb8f9d8
[Impeller] Ensure that missing color attachment 0u does not cause cra…
jonahwilliams Jul 14, 2023
fc6d2a7
Roll Skia from 5f6578398870 to 271b2b6d5aaa (2 revisions) (#43706)
skia-flutter-autoroll Jul 14, 2023
83a2dd4
Reland "add non-rendering operation culling to DisplayListBuilder" (#…
flar Jul 14, 2023
d6c9217
[Impeller] Fix text scaling issues again, this time with perspective …
dnfield Jul 14, 2023
0bba194
[web] always add secondary role managers (#43663)
yjbanov Jul 14, 2023
42f3d45
Move ViewConfiguration ownership to FlutterView (#43701)
goderbauer Jul 15, 2023
e8cf1d5
Roll Skia from 271b2b6d5aaa to 975eb1250431 (2 revisions) (#43712)
skia-flutter-autoroll Jul 15, 2023
a1edc6b
Roll Fuchsia Mac SDK from Z-1lzZAOYHvVrdjQ8... to oeYLDNShuD-FTgGwU..…
skia-flutter-autoroll Jul 15, 2023
bec686b
Roll Dart SDK from d1fcadf22aad to 671bbdf6c542 (2 revisions) (#43715)
skia-flutter-autoroll Jul 15, 2023
d9667d4
Roll Skia from 975eb1250431 to 6fb535aede4e (1 revision) (#43716)
skia-flutter-autoroll Jul 15, 2023
fc5b32b
Optimizing performance by avoiding multiple GC operations caused by m…
0xZOne Jul 15, 2023
a0fb644
Roll Dart SDK from 671bbdf6c542 to 0bd185c282d2 (1 revision) (#43719)
skia-flutter-autoroll Jul 15, 2023
f134407
Roll Clang from 6d667d4b261e to ebd0b8a0472b (#43673)
skia-flutter-autoroll Jul 15, 2023
066dd6b
Revert "Reland "add non-rendering operation culling to DisplayListBui…
zanderso Jul 15, 2023
fa1bd1e
Roll Fuchsia Linux SDK from DEENqWMCYI1SMYsYH... to rmzZN2ZAgpbjAFi5_…
skia-flutter-autoroll Jul 15, 2023
0af0f31
Roll Fuchsia Mac SDK from oeYLDNShuD-FTgGwU... to 4pmlR2uz3SrLRNNSG..…
skia-flutter-autoroll Jul 15, 2023
e6026d6
Roll Dart SDK from 0bd185c282d2 to d34f04f4a152 (1 revision) (#43724)
skia-flutter-autoroll Jul 15, 2023
ab4205a
Roll Skia from 6fb535aede4e to 0768501cd267 (3 revisions) (#43726)
skia-flutter-autoroll Jul 15, 2023
070fb79
Roll Skia from 0768501cd267 to ee4369879cc0 (1 revision) (#43728)
skia-flutter-autoroll Jul 15, 2023
1f3b392
[Impeller] fix some OpenGL Linux desktop issues. (#43727)
jonahwilliams Jul 15, 2023
7dcf980
[Impeller] Fix pipeline stats traced to the timeline. (#43729)
chinmaygarde Jul 16, 2023
2b13b8c
Roll Fuchsia Linux SDK from rmzZN2ZAgpbjAFi5_... to Buo0mx6dVLK5kvgQ3…
skia-flutter-autoroll Jul 16, 2023
680a8c5
Roll Dart SDK from d34f04f4a152 to 827259dfffb9 (1 revision) (#43731)
skia-flutter-autoroll Jul 16, 2023
e819429
Roll Fuchsia Mac SDK from 4pmlR2uz3SrLRNNSG... to VYjne_BEm9inQ5fnq..…
skia-flutter-autoroll Jul 16, 2023
7df583d
Roll Skia from ee4369879cc0 to 288c98d7ef0b (1 revision) (#43733)
skia-flutter-autoroll Jul 16, 2023
e883194
Roll Fuchsia Linux SDK from Buo0mx6dVLK5kvgQ3... to WZt3P7Fm3_GUvAaDv…
skia-flutter-autoroll Jul 17, 2023
d3d9069
Roll Dart SDK from 827259dfffb9 to c1bfb2689f6f (1 revision) (#43735)
skia-flutter-autoroll Jul 17, 2023
31a1f66
Roll Fuchsia Mac SDK from VYjne_BEm9inQ5fnq... to jtvD_HgQVBqadF3jX..…
skia-flutter-autoroll Jul 17, 2023
cfc9d1b
Roll Skia from 288c98d7ef0b to 4ec9f2497be1 (1 revision) (#43738)
skia-flutter-autoroll Jul 17, 2023
87945dc
Roll Skia from 4ec9f2497be1 to dc93f341ec38 (10 revisions) (#43739)
skia-flutter-autoroll Jul 17, 2023
0c4e172
[fuchsia] flutter-embedder-test and touch-input-test use Flatland Tes…
caroqliu Jul 17, 2023
1db007b
[Impeller] Correct coverage hint usage in PipelineBlend (#43708)
bdero Jul 17, 2023
6bf697c
Roll Skia from dc93f341ec38 to b25cd035db06 (2 revisions) (#43740)
skia-flutter-autoroll Jul 17, 2023
c4ff233
Roll Skia from b25cd035db06 to f0e1963324eb (2 revisions) (#43741)
skia-flutter-autoroll Jul 17, 2023
a3d2cee
Roll Skia from f0e1963324eb to f29d58569c67 (4 revisions) (#43744)
skia-flutter-autoroll Jul 17, 2023
b2e4cd1
Roll Dart SDK from c1bfb2689f6f to 78c9ac730629 (1 revision) (#43745)
skia-flutter-autoroll Jul 17, 2023
44b1179
Roll Skia from f29d58569c67 to f2a4222bb72e (1 revision) (#43746)
skia-flutter-autoroll Jul 17, 2023
3be77dc
Move Dart licenses into a separate golden file (#43289)
jason-simmons Jul 17, 2023
62477ca
[Windows] Remove accessibility bridge helpers from the engine (#43710)
loic-sharma Jul 17, 2023
26dca3c
Revert "Roll Clang from 6d667d4b261e to ebd0b8a0472b" (#43749)
zanderso Jul 17, 2023
208bc71
Fix drawVertices documentation (#43747)
brianosman Jul 17, 2023
0e4f12f
Roll Dart SDK from 78c9ac730629 to 32bc5d654e92 (1 revision) (#43751)
skia-flutter-autoroll Jul 18, 2023
5aea79c
Add a GN flag to set the Dart VM's optimization level (#43743)
zanderso Jul 18, 2023
11885c8
Roll Dart SDK from 32bc5d654e92 to 979375f92109 (1 revision) (#43753)
skia-flutter-autoroll Jul 18, 2023
11730a4
Roll Skia from f2a4222bb72e to 071d5897eb8a (1 revision) (#43754)
skia-flutter-autoroll Jul 18, 2023
96fec48
Roll Fuchsia Mac SDK from jtvD_HgQVBqadF3jX... to _CIP-1iUTmGCbCDZ5..…
skia-flutter-autoroll Jul 18, 2023
2ed74bb
Revert "Log dlopen errors in opt builds (#41477)" (#43677)
jiahaog Jul 18, 2023
548e7ee
Minor fixes for C++20 compatibility (#43674)
jiahaog Jul 18, 2023
9d8302b
Roll Fuchsia Linux SDK from WZt3P7Fm3_GUvAaDv... to ixKM7wyMrqmPDaQ11…
skia-flutter-autoroll Jul 18, 2023
b2e1388
Roll Skia from 071d5897eb8a to 48a44e2cda18 (1 revision) (#43757)
skia-flutter-autoroll Jul 18, 2023
ea9554e
Roll Skia from 48a44e2cda18 to 31be5646930b (3 revisions) (#43758)
skia-flutter-autoroll Jul 18, 2023
afbd72e
Bump actions/setup-python from 4.6.1 to 4.7.0 (#43760)
dependabot[bot] Jul 18, 2023
82c3283
Roll Dart SDK from 979375f92109 to b83a63e0181a (1 revision) (#43762)
skia-flutter-autoroll Jul 18, 2023
d858cb9
Roll Skia from 31be5646930b to a4df72ba04bb (1 revision) (#43763)
skia-flutter-autoroll Jul 18, 2023
2cd24fe
Roll Skia from a4df72ba04bb to 8d3e00a1f25f (1 revision) (#43766)
skia-flutter-autoroll Jul 18, 2023
dbb9cd0
Roll Dart SDK from b83a63e0181a to ec95774043ec (1 revision) (#43767)
skia-flutter-autoroll Jul 18, 2023
68c9aa6
Roll Skia from 8d3e00a1f25f to b33cc7da1e23 (1 revision) (#43768)
skia-flutter-autoroll Jul 18, 2023
e51ddca
Roll Skia from b33cc7da1e23 to b7103fe086c1 (1 revision) (#43769)
skia-flutter-autoroll Jul 18, 2023
be93968
[Impeller] Avoid inserting additional save layers based on clip confi…
jonahwilliams Jul 18, 2023
1e396e8
Reset Dart VM optimization level to 2 (#43770)
zanderso Jul 18, 2023
fe70169
Roll Fuchsia Mac SDK from _CIP-1iUTmGCbCDZ5... to SCshjyIlymHWD9W4D..…
skia-flutter-autoroll Jul 18, 2023
35ae028
Check FlutterAppDelegate selector support before calling (#43425)
gspencergoog Jul 18, 2023
034d456
[ci.yaml] Skip windows arm on releases (#43771)
Jul 18, 2023
940a9a8
Roll Skia from b7103fe086c1 to 219ca2581ab2 (1 revision) (#43774)
skia-flutter-autoroll Jul 18, 2023
2885776
Roll ANGLE from 113f847be69f to 52fe3116ead9 (146 revisions) (#43776)
skia-flutter-autoroll Jul 18, 2023
3b283f2
Roll Skia from 219ca2581ab2 to 4e518e65fea0 (2 revisions) (#43777)
skia-flutter-autoroll Jul 18, 2023
3647ba2
[web] sync => isSync , scuba => golden (#43699)
mdebbar Jul 18, 2023
3bf25bd
Roll Skia from 4e518e65fea0 to 0adae44dd9cd (6 revisions) (#43779)
skia-flutter-autoroll Jul 18, 2023
fe78984
Roll Skia from 0adae44dd9cd to 9a0f6d82a6f5 (1 revision) (#43780)
skia-flutter-autoroll Jul 18, 2023
74c4584
Roll Fuchsia Linux SDK from ixKM7wyMrqmPDaQ11... to ZABO4Om1vToxhI394…
skia-flutter-autoroll Jul 18, 2023
7f5e337
Roll Skia from 9a0f6d82a6f5 to dcc56df202cc (1 revision) (#43784)
skia-flutter-autoroll Jul 18, 2023
2de9db3
[Impeller] Fix GL_NUM_EXTENSIONS check for desktop GL (#43785)
bdero Jul 18, 2023
9506f1d
Roll ANGLE from 52fe3116ead9 to 6eea5ff4db82 (1 revision) (#43789)
skia-flutter-autoroll Jul 18, 2023
b3c510b
Remove obsolete legacy engine builds from staging (#43790)
zanderso Jul 18, 2023
a001a77
Roll Skia from dcc56df202cc to 280fb8391187 (1 revision) (#43793)
skia-flutter-autoroll Jul 18, 2023
aa4f7b8
Increase engine v2 orchestrator timeouts (#43788)
zanderso Jul 18, 2023
765febb
Roll Dart SDK from ec95774043ec to c184cac2d22f (1 revision) (#43794)
skia-flutter-autoroll Jul 19, 2023
78ab306
Roll Skia from 280fb8391187 to d1d2b623799e (1 revision) (#43795)
skia-flutter-autoroll Jul 19, 2023
10597e0
Roll ANGLE from 6eea5ff4db82 to b32d661389a6 (1 revision) (#43796)
skia-flutter-autoroll Jul 19, 2023
c726cae
Roll Skia from d1d2b623799e to caf0d191bd07 (1 revision) (#43797)
skia-flutter-autoroll Jul 19, 2023
f2e5a91
Roll Dart SDK from c184cac2d22f to 9f5e86b4c108 (1 revision) (#43798)
skia-flutter-autoroll Jul 19, 2023
72dcf97
Roll Skia from caf0d191bd07 to 9062ca6a691c (1 revision) (#43799)
skia-flutter-autoroll Jul 19, 2023
21ebeb2
Roll Fuchsia Mac SDK from SCshjyIlymHWD9W4D... to Iqf3gYJ8Vkq8k8l3O..…
skia-flutter-autoroll Jul 19, 2023
1f20ee8
Roll Skia from 9062ca6a691c to 035b12a03918 (3 revisions) (#43801)
skia-flutter-autoroll Jul 19, 2023
9098388
Roll Skia from 035b12a03918 to c03050eb2b65 (1 revision) (#43802)
skia-flutter-autoroll Jul 19, 2023
0ec057f
Fix the rules for determining whether a blur image filter is valid (#…
jason-simmons Jul 19, 2023
1d9ac8e
Roll ANGLE from b32d661389a6 to 255dec886475 (1 revision) (#43804)
skia-flutter-autoroll Jul 19, 2023
aa9b2ae
Roll Dart SDK from 9f5e86b4c108 to a013e7bf089e (1 revision) (#43805)
skia-flutter-autoroll Jul 19, 2023
cc82ce9
Roll Skia from c03050eb2b65 to e9409b832799 (1 revision) (#43808)
skia-flutter-autoroll Jul 19, 2023
da66419
Roll ANGLE from 255dec886475 to 4dcaad2a894d (1 revision) (#43809)
skia-flutter-autoroll Jul 19, 2023
4837e0f
Update legacy call to SkImage::makeSubset (#43786)
kjlubick Jul 19, 2023
51a7ed7
Roll Fuchsia Linux SDK from ZABO4Om1vToxhI394... to -SNz0augjLKFVsUWn…
skia-flutter-autoroll Jul 19, 2023
7b5a8a6
Roll Skia from e9409b832799 to 1f175b7a2155 (1 revision) (#43811)
skia-flutter-autoroll Jul 19, 2023
3149564
Roll Skia from 1f175b7a2155 to 16475d7aa315 (1 revision) (#43812)
skia-flutter-autoroll Jul 19, 2023
9a29484
Apply the offset to the child bounds of an ImageFilterLayer with no f…
jason-simmons Jul 19, 2023
acbaa7b
Roll Skia from 16475d7aa315 to 4728980564b1 (1 revision) (#43815)
skia-flutter-autoroll Jul 19, 2023
31c2866
[Impeller] Disable color attachment on clip pipelines for Metal & Vul…
bdero Jul 19, 2023
79eb068
Roll Skia from 4728980564b1 to a352521a3a7c (3 revisions) (#43816)
skia-flutter-autoroll Jul 19, 2023
0199689
Roll Skia from a352521a3a7c to 8d19d04472e1 (1 revision) (#43818)
skia-flutter-autoroll Jul 19, 2023
89cbfa6
Roll Dart SDK from a013e7bf089e to 936824d49aa7 (1 revision) (#43820)
skia-flutter-autoroll Jul 19, 2023
b774771
Roll Skia from 8d19d04472e1 to 650c980daa72 (6 revisions) (#43821)
skia-flutter-autoroll Jul 19, 2023
648975d
fix handling of clipped rendering inside a layer that applies a filte…
flar Jul 19, 2023
d228123
Roll Fuchsia Mac SDK from Iqf3gYJ8Vkq8k8l3O... to 7kGBjmX-zBXcg1svE..…
skia-flutter-autoroll Jul 19, 2023
5550716
Roll Skia from 650c980daa72 to 30d458aea0b9 (1 revision) (#43825)
skia-flutter-autoroll Jul 19, 2023
1816b21
Roll Skia from 30d458aea0b9 to b1d6eab1f590 (2 revisions) (#43826)
skia-flutter-autoroll Jul 19, 2023
93f2001
Add the 'affects: desktop' label to labeler.yml (#43827)
loic-sharma Jul 19, 2023
9ff7691
Roll ANGLE from 4dcaad2a894d to 4515b270772e (2 revisions) (#43830)
skia-flutter-autoroll Jul 19, 2023
50cc3d4
Roll Skia from b1d6eab1f590 to bf75ae2f6eec (2 revisions) (#43829)
skia-flutter-autoroll Jul 19, 2023
446d93a
Roll Skia from bf75ae2f6eec to 8413c82dea43 (1 revision) (#43832)
skia-flutter-autoroll Jul 19, 2023
c895842
Reland "Add non-rendering operation culling to DisplayListBuilder" (#…
flar Jul 19, 2023
8b0a872
Roll Dart SDK from 936824d49aa7 to 677bbf64d4d7 (1 revision) (#43833)
skia-flutter-autoroll Jul 19, 2023
0264439
Roll Skia from 8413c82dea43 to b238c09fe959 (1 revision) (#43835)
skia-flutter-autoroll Jul 19, 2023
810ceee
Roll ANGLE from 4515b270772e to 5e38a31bd76a (1 revision) (#43836)
skia-flutter-autoroll Jul 19, 2023
de05574
Roll Fuchsia Linux SDK from -SNz0augjLKFVsUWn... to ZwCUlo28olVzLlqTl…
skia-flutter-autoroll Jul 20, 2023
7997970
Roll Dart SDK from 677bbf64d4d7 to 368a205aa1d4 (1 revision) (#43841)
skia-flutter-autoroll Jul 20, 2023
af2df6f
Add a PlatformViewRenderTarget abstraction (#43813)
johnmccutchan Jul 20, 2023
dee464a
Roll Dart SDK from 368a205aa1d4 to 603aacd8400f (1 revision) (#43843)
skia-flutter-autoroll Jul 20, 2023
b1c6b20
Roll Skia from b238c09fe959 to d09e9869f84c (1 revision) (#43842)
skia-flutter-autoroll Jul 20, 2023
90b2929
Roll Fuchsia Mac SDK from 7kGBjmX-zBXcg1svE... to SmAtKPfGzPllC9gfO..…
skia-flutter-autoroll Jul 20, 2023
3aaddb2
Roll Skia from d09e9869f84c to 65a83c4de7f2 (2 revisions) (#43847)
skia-flutter-autoroll Jul 20, 2023
e2e99a3
Roll Skia from 65a83c4de7f2 to 401c85ab1e21 (1 revision) (#43848)
skia-flutter-autoroll Jul 20, 2023
d223cf4
Roll ANGLE from 5e38a31bd76a to a4c283be741f (1 revision) (#43849)
skia-flutter-autoroll Jul 20, 2023
d0bb4e0
Roll Fuchsia Linux SDK from ZwCUlo28olVzLlqTl... to hVAAd2NqYOjUF_I99…
skia-flutter-autoroll Jul 20, 2023
0ee3892
Roll Dart SDK from 603aacd8400f to 857c9a2ae14a (1 revision) (#43851)
skia-flutter-autoroll Jul 20, 2023
7b72555
Roll Skia from 401c85ab1e21 to b8133dda3a8c (4 revisions) (#43853)
skia-flutter-autoroll Jul 20, 2023
0c90b65
Roll Skia from b8133dda3a8c to a3aca7ae523e (1 revision) (#43855)
skia-flutter-autoroll Jul 20, 2023
4567f33
[web] Preserve correct CanvasKit Variant during test initialization (…
mdebbar Jul 20, 2023
20ceaeb
Roll Dart SDK from 857c9a2ae14a to 1df95f328d0c (1 revision) (#43858)
skia-flutter-autoroll Jul 20, 2023
1eb4ce0
More validation logs for CommandEncoderVK submission (#43859)
dnfield Jul 20, 2023
b00bdd6
Add url to get GoogleFonts API key (#43857)
mdebbar Jul 20, 2023
1519645
Roll Skia from a3aca7ae523e to 18e834916f47 (1 revision) (#43860)
skia-flutter-autoroll Jul 20, 2023
3cb11c6
Roll Fuchsia Mac SDK from SmAtKPfGzPllC9gfO... to -SaPL-46jpiYbnCAu..…
skia-flutter-autoroll Jul 20, 2023
de39cd0
Roll Skia from 18e834916f47 to 100d0f858f02 (7 revisions) (#43863)
skia-flutter-autoroll Jul 20, 2023
d3df216
Roll ANGLE from a4c283be741f to f2e0f8a0b236 (2 revisions) (#43864)
skia-flutter-autoroll Jul 20, 2023
f99ad2e
[Impeller] Provide fragment uniform data through varyings for solid c…
jonahwilliams Jul 20, 2023
fbe34a6
Roll Skia from 100d0f858f02 to 981146e6305d (3 revisions) (#43866)
skia-flutter-autoroll Jul 20, 2023
0392724
Roll Skia from 981146e6305d to 6f2b2e94ebbd (3 revisions) (#43871)
skia-flutter-autoroll Jul 20, 2023
37b319e
[Impeller] [Vulkan] Add reset command buffer bit to command pools. (#…
dnfield Jul 20, 2023
a471497
Merge branch 'main' into canvaskit-rtree
harryterkelsen Aug 1, 2023
8ef5f6a
Merge branch 'main' into canvaskit-rtree
harryterkelsen Aug 1, 2023
4b403f6
Merge with main
harryterkelsen Aug 1, 2023
7f218c1
Add ImageFilter.getOutputBounds
harryterkelsen Aug 1, 2023
7d0ace9
undo formatting
harryterkelsen Aug 1, 2023
59f4a4b
Fix typo
harryterkelsen Aug 1, 2023
7be5977
Fix SkIRect issue
harryterkelsen Aug 1, 2023
9a5970e
Don't apply transform twice
harryterkelsen Aug 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2195,8 +2195,10 @@ class SkPictureRecorder {

extension SkPictureRecorderExtension on SkPictureRecorder {
@JS('beginRecording')
external SkCanvas _beginRecording(JSFloat32Array bounds);
SkCanvas beginRecording(Float32List bounds) => _beginRecording(bounds.toJS);
external SkCanvas _beginRecording(
JSFloat32Array bounds, JSBoolean computeBounds);
SkCanvas beginRecording(Float32List bounds) =>
_beginRecording(bounds.toJS, true.toJS);

external SkPicture finishRecordingAsPicture();
external JSVoid delete();
Expand Down Expand Up @@ -2594,6 +2596,14 @@ class SkPicture {}

extension SkPictureExtension on SkPicture {
external JSVoid delete();

@JS('cullRect')
external JSFloat32Array _cullRect();
Float32List cullRect() => _cullRect().toDart;

@JS('approximateBytesUsed')
external JSNumber _approximateBytesUsed();
int approximateBytesUsed() => _approximateBytesUsed().toDartInt;
}

@JS()
Expand Down Expand Up @@ -3544,11 +3554,13 @@ List<String> getCanvasKitJsFileNames(CanvasKitVariant variant) {
return <String>[_kChromiumCanvasKitJsFileName];
}
}

Iterable<String> get _canvasKitJsUrls {
return getCanvasKitJsFileNames(configuration.canvasKitVariant).map(
(String filename) => '$_canvasKitBaseUrl$filename',
);
}

@visibleForTesting
String canvasKitWasmModuleUrl(String file, String canvasKitBase) =>
canvasKitBase + file;
Expand Down Expand Up @@ -3609,6 +3621,7 @@ Future<bool> _downloadCanvasKitJs(String url) {
canvasKitScript.remove();
canvasKitLoadCompleter.complete(true);
}

void errorEventHandler(DomEvent errorEvent) {
canvasKitScript.remove();
canvasKitLoadCompleter.complete(false);
Expand Down
9 changes: 5 additions & 4 deletions lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import '../window.dart';
import 'canvas.dart';
import 'embedded_views_diff.dart';
import 'path.dart';
import 'picture.dart';
import 'picture_recorder.dart';
import 'renderer.dart';
import 'surface.dart';
Expand Down Expand Up @@ -139,7 +140,6 @@ class HtmlViewEmbedder {
if (needNewOverlay && hasAvailableOverlay) {
final CkPictureRecorder pictureRecorder = CkPictureRecorder();
pictureRecorder.beginRecording(ui.Offset.zero & _frameSize);
pictureRecorder.recordingCanvas!.clear(const ui.Color(0x00000000));
_context.pictureRecordersCreatedDuringPreroll.add(pictureRecorder);
}

Expand Down Expand Up @@ -422,9 +422,10 @@ class HtmlViewEmbedder {
if (_overlays[viewId] != null) {
final SurfaceFrame frame = _overlays[viewId]!.acquireFrame(_frameSize);
final CkCanvas canvas = frame.skiaCanvas;
canvas.drawPicture(
_context.pictureRecorders[pictureRecorderIndex].endRecording(),
);
final CkPicture ckPicture =
_context.pictureRecorders[pictureRecorderIndex].endRecording();
canvas.clear(const ui.Color(0x00000000));
canvas.drawPicture(ckPicture);
pictureRecorderIndex++;
frame.submit();
}
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/lib/src/engine/canvaskit/layer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,7 @@ class PictureLayer extends Layer {

@override
void preroll(PrerollContext prerollContext, Matrix4 matrix) {
paintBounds = picture.cullRect!.shift(offset);
paintBounds = picture.cullRect().shift(offset);
}

@override
Expand Down
2 changes: 0 additions & 2 deletions lib/web_ui/lib/src/engine/canvaskit/layer_tree.dart
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,6 @@ class LayerTree {
final Iterable<CkCanvas> overlayCanvases =
frame.viewEmbedder!.getOverlayCanvases();
overlayCanvases.forEach(internalNodesCanvas.addCanvas);
// Clear the canvases before painting
internalNodesCanvas.clear(const ui.Color(0x00000000));
final PaintContext context = PaintContext(
internalNodesCanvas,
frame.canvas,
Expand Down
7 changes: 4 additions & 3 deletions lib/web_ui/lib/src/engine/canvaskit/picture.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,18 @@ import 'surface_factory.dart';

/// Implements [ui.Picture] on top of [SkPicture].
class CkPicture implements ui.Picture {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually made this abstract class that you might want to conform to here: https://github.com/flutter/engine/blame/893ab3bf7bb9cf104846ec50b79baf4864089253/lib/web_ui/lib/src/engine/scene_painting.dart#L15C3-L15C3

I actually wrote Skwasm's scene builder in an agnostic way where it could theoretically be reused for any renderer that implements the normal dart:ui interfaces plus a few odds and ends that aren't exposed (such as this cullRect function). It might be interesting to see if CanvasKit could be migrated to that scene builder and do some perf measurements at some point, I think it does a little less work in some cases than the CanvasKit one (although it doesn't support platform views yet, so we wouldn't want to switch over to that until the platform views are implemented).

I also think a getter for cullRect makes more sense than a function, but up to you.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I'm getting started on the filterBounds CanvasKit change

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

CkPicture(SkPicture skPicture, this.cullRect) {
CkPicture(SkPicture skPicture) {
_ref = UniqueRef<SkPicture>(this, skPicture, 'Picture');
}

late final UniqueRef<SkPicture> _ref;
final ui.Rect? cullRect;

SkPicture get skiaObject => _ref.nativeObject;

ui.Rect cullRect() => fromSkRect(skiaObject.cullRect());

@override
int get approximateBytesUsed => 0;
int get approximateBytesUsed => skiaObject.approximateBytesUsed();

@override
bool get debugDisposed {
Expand Down
4 changes: 1 addition & 3 deletions lib/web_ui/lib/src/engine/canvaskit/picture_recorder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,10 @@ import 'canvaskit_api.dart';
import 'picture.dart';

class CkPictureRecorder implements ui.PictureRecorder {
ui.Rect? _cullRect;
SkPictureRecorder? _skRecorder;
CkCanvas? _recordingCanvas;

CkCanvas beginRecording(ui.Rect bounds) {
_cullRect = bounds;
final SkPictureRecorder recorder = _skRecorder = SkPictureRecorder();
final Float32List skRect = toSkRect(bounds);
final SkCanvas skCanvas = recorder.beginRecording(skRect);
Expand All @@ -36,7 +34,7 @@ class CkPictureRecorder implements ui.PictureRecorder {
final SkPicture skPicture = recorder.finishRecordingAsPicture();
recorder.delete();
_skRecorder = null;
final CkPicture result = CkPicture(skPicture, _cullRect);
final CkPicture result = CkPicture(skPicture);
// We invoke the handler here, not in the picture constructor, because we want
// [result.approximateBytesUsed] to be available for the handler.
ui.Picture.onCreate?.call(result);
Expand Down
1 change: 1 addition & 0 deletions lib/web_ui/lib/src/engine/canvaskit/rasterizer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class Rasterizer {
SurfaceFactory.instance.baseSurface.acquireFrame(layerTree.frameSize);
HtmlViewEmbedder.instance.frameSize = layerTree.frameSize;
final CkCanvas canvas = frame.skiaCanvas;
canvas.clear(const ui.Color(0x00000000));
final Frame compositorFrame =
context.acquireFrame(canvas, HtmlViewEmbedder.instance);

Expand Down
Loading