Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 985fb30

Browse files
authored
Merge branch 'main' into rrect-blur-match-gaussian
2 parents 82a120b + a338661 commit 985fb30

File tree

12 files changed

+101
-48
lines changed

12 files changed

+101
-48
lines changed

DEPS

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -56,24 +56,24 @@ vars = {
5656
# Dart is: https://github.com/dart-lang/sdk/blob/main/DEPS
5757
# You can use //tools/dart/create_updated_flutter_deps.py to produce
5858
# updated revision list of existing dependencies.
59-
'dart_revision': '53c41325c29f69fee890df64eb6b0383875e27b2',
59+
'dart_revision': '49b5590c8d807425ccb1a5d2989aa444903b13be',
6060

6161
# WARNING: DO NOT EDIT MANUALLY
6262
# The lines between blank lines above and below are generated by a script. See create_updated_flutter_deps.py
6363
'dart_binaryen_rev': 'd844d2e77b402d562ade8cf8fd96759b587bf09d',
6464
'dart_boringssl_gen_rev': '9c7294fd58261a79794f5afaa26598cf1442ad20',
6565
'dart_boringssl_rev': 'd24a38200fef19150eef00cad35b138936c08767',
66-
'dart_browser_launcher_rev': '0dcf2246c11eaf6c4f2591332f1057734a847793',
67-
'dart_clock_rev': '80e70acf72cc3a876d3158911b097b581cd8fd1a',
68-
'dart_collection_rev': 'fe2e80039b6d44d80f7465535988f935ccf554a5',
66+
'dart_browser_launcher_rev': '7348ceae6508e5350771979c2951a54313303416',
67+
'dart_clock_rev': '7cbf08e36a92f14f22132d255846610c1b065324',
68+
'dart_collection_rev': '586a5e841fad5572beae421ef9902ba7ceab1292',
6969
'dart_devtools_rev': 'a53696352fe1508c18d908a85b68c113b11dbe58',
7070
'dart_libprotobuf_rev': '24487dd1045c7f3d64a21f38a3f0c06cc4cf2edb',
7171
'dart_perfetto_rev': '13ce0c9e13b0940d2476cd0cff2301708a9a2e2b',
7272
'dart_protobuf_gn_rev': 'ca669f79945418f6229e4fef89b666b2a88cbb10',
7373
'dart_protobuf_rev': 'ccf104dbc36929c0f8708285d5f3a8fae206343e',
7474
'dart_pub_rev': '75ab224376e80e918d3c53494a36d4bf8a2f2af6',
7575
'dart_tools_rev': '86b3661fc4ccbcda5b662ff3075177448eeeba11',
76-
'dart_watcher_rev': 'c182cd3db6f0bc285bf5da52df422f5c64f21a37',
76+
'dart_watcher_rev': 'c00fc2a6cd869cdebbc52e00af3d912d25745729',
7777
'dart_web_rev': 'd7766451f43001276b5493b2261d2973702b8334',
7878
'dart_webdev_rev': 'a97c2a1f074209584e7a6a4923d2ca029411f718',
7979
'dart_webkit_inspection_protocol_rev': '5740cc91eaeb13a02007b77b128fccf4b056db6e',
@@ -350,22 +350,22 @@ deps = {
350350
{'dep_type': 'cipd', 'packages': [{'package': 'dart/third_party/flutter/devtools', 'version': 'git_revision:a53696352fe1508c18d908a85b68c113b11dbe58'}]},
351351

352352
'src/flutter/third_party/dart/third_party/pkg/args':
353-
Var('dart_git') + '/args.git@b3608bd95168428621689dce62f873b76a1617d4',
353+
Var('dart_git') + '/args.git@6a5a2e6b1f0020b873c7ffbdd36a784c4f9ee300',
354354

355355
'src/flutter/third_party/dart/third_party/pkg/async':
356-
Var('dart_git') + '/async.git@f933ddff63021bfbdb70938d6a137eb9e7419b05',
356+
Var('dart_git') + '/async.git@4073129914f14d0c3bdc295bacd7dca5229872af',
357357

358358
'src/flutter/third_party/dart/third_party/pkg/bazel_worker':
359-
Var('dart_git') + '/bazel_worker.git@2ec90c023d7c62a38cfbd2f34f55093ab38ccf85',
359+
Var('dart_git') + '/bazel_worker.git@c76d7c86381a6ed594641ba03b55c65b84ee11a6',
360360

361361
'src/flutter/third_party/dart/third_party/pkg/boolean_selector':
362-
Var('dart_git') + '/boolean_selector.git@84467e580fa1c7c53ea588308f1acbcf4e8eb6a6',
362+
Var('dart_git') + '/boolean_selector.git@62f82f6a333b419b457e62cadc17b7a9c0545873',
363363

364364
'src/flutter/third_party/dart/third_party/pkg/browser_launcher':
365365
Var('dart_git') + '/browser_launcher.git' + '@' + Var('dart_browser_launcher_rev'),
366366

367367
'src/flutter/third_party/dart/third_party/pkg/cli_util':
368-
Var('dart_git') + '/cli_util.git@9fe3eeb8a2fad6da9a156055207337474436da12',
368+
Var('dart_git') + '/cli_util.git@c37d5e14f50e72a268c1ad86149cecfa4b58c494',
369369

370370
'src/flutter/third_party/dart/third_party/pkg/clock':
371371
Var('dart_git') + '/clock.git' + '@' + Var('dart_clock_rev'),
@@ -374,61 +374,61 @@ deps = {
374374
Var('dart_git') + '/collection.git' + '@' + Var('dart_collection_rev'),
375375

376376
'src/flutter/third_party/dart/third_party/pkg/convert':
377-
Var('dart_git') + '/convert.git@056626e0cddd56c4cc1184aac787ba06ecdaae3a',
377+
Var('dart_git') + '/convert.git@302af1b7d7dffe5bc1f85a6f1b0958b9de920cd7',
378378

379379
'src/flutter/third_party/dart/third_party/pkg/crypto':
380-
Var('dart_git') + '/crypto.git@3f815aca8ad5020bb39be09ec9bfd75c36910809',
380+
Var('dart_git') + '/crypto.git@0a10171a7983cd84b318edf3086f751542500a13',
381381

382382
'src/flutter/third_party/dart/third_party/pkg/csslib':
383-
Var('dart_git') + '/csslib.git@141dd6567651500bb8c17ccb65e3c9e117c64035',
383+
Var('dart_git') + '/csslib.git@23c314bb6b247a71348cfb0987ba0eb29574abb6',
384384

385385
'src/flutter/third_party/dart/third_party/pkg/dart_style':
386386
Var('dart_git') + '/dart_style.git@a6ad7693555a9add6f98ad6fd94de80d35c89415',
387387

388388
'src/flutter/third_party/dart/third_party/pkg/dartdoc':
389-
Var('dart_git') + '/dartdoc.git@ed975850ec97bbccba1c5c2a997e2c085ef842da',
389+
Var('dart_git') + '/dartdoc.git@45627f92f7e4d377930925ea1ea6a3ed808b34cd',
390390

391391
'src/flutter/third_party/dart/third_party/pkg/file':
392-
Var('dart_git') + '/external/github.com/google/file.dart@8ce0d13ffe9dac267bdbd6c65c145ba4f611af72',
392+
Var('dart_git') + '/external/github.com/google/file.dart@07cacaed6679a173e29176747e6ce0325742749f',
393393

394394
'src/flutter/third_party/dart/third_party/pkg/fixnum':
395-
Var('dart_git') + '/fixnum.git@ac892adead8317e22fafaec65a4e76bda1640f26',
395+
Var('dart_git') + '/fixnum.git@a8157d87f17d5184e210403f2ed63d354b854132',
396396

397397
'src/flutter/third_party/dart/third_party/pkg/glob':
398-
Var('dart_git') + '/glob.git@ee48ea82a1ccb64c8cc62e9f4f44c44ca67add71',
398+
Var('dart_git') + '/glob.git@eaec6a448576048b748475d80bfac2795ad5a267',
399399

400400
'src/flutter/third_party/dart/third_party/pkg/html':
401-
Var('dart_git') + '/html.git@00d34611eee5eff976bd12a631357a4d591ef5fb',
401+
Var('dart_git') + '/html.git@3bc803d7e655491b243418f19300ef0c6112bcea',
402402

403403
'src/flutter/third_party/dart/third_party/pkg/http':
404-
Var('dart_git') + '/http.git@6337ee3f6d1f641192ba40e133f27085c69aa815',
404+
Var('dart_git') + '/http.git@7bfbeea6324e3dd34b93d3b4756df0c03bf243f4',
405405

406406
'src/flutter/third_party/dart/third_party/pkg/http_multi_server':
407-
Var('dart_git') + '/http_multi_server.git@4a791af861da1cf53b57d9928fbc605f57139e4f',
407+
Var('dart_git') + '/http_multi_server.git@25941e260658efb324de857e6022f418faf9bdd1',
408408

409409
'src/flutter/third_party/dart/third_party/pkg/http_parser':
410-
Var('dart_git') + '/http_parser.git@702698a3fc726f7cbb8cd7824a8639c7fe84b169',
410+
Var('dart_git') + '/http_parser.git@551e0e470bc7406f5400c55b6f95ee205ad18825',
411411

412412
'src/flutter/third_party/dart/third_party/pkg/intl':
413413
Var('dart_git') + '/intl.git@5d65e3808ce40e6282e40881492607df4e35669f',
414414

415415
'src/flutter/third_party/dart/third_party/pkg/json_rpc_2':
416-
Var('dart_git') + '/json_rpc_2.git@3187f7b59ed253d14b2560c5306b037bca6817b0',
416+
Var('dart_git') + '/json_rpc_2.git@5b1cbd679756700d5f319bf10a217da53e98ea52',
417417

418418
'src/flutter/third_party/dart/third_party/pkg/leak_tracker':
419419
Var('dart_git') + '/leak_tracker.git@f5620600a5ce1c44f65ddaa02001e200b096e14c',
420420

421421
'src/flutter/third_party/dart/third_party/pkg/logging':
422-
Var('dart_git') + '/logging.git@7f722dcbe541de330b5ebc1e9ae075e92033aa06',
422+
Var('dart_git') + '/logging.git@73f043a45b23bb6d397b5ac784cf562e9ccb295b',
423423

424424
'src/flutter/third_party/dart/third_party/pkg/markdown':
425-
Var('dart_git') + '/markdown.git@c1013dc6fc2653baeb9fac70d0a036615867e629',
425+
Var('dart_git') + '/markdown.git@3d8d7a8f14b74bb646bb6e4ae35e0bf2beb74154',
426426

427427
'src/flutter/third_party/dart/third_party/pkg/matcher':
428-
Var('dart_git') + '/matcher.git@4ac4096facce24a781ab6609ca99995aeb443b25',
428+
Var('dart_git') + '/matcher.git@0abd4054c47a923486a6c0c04b5c974ba13ad2da',
429429

430430
'src/flutter/third_party/dart/third_party/pkg/mime':
431-
Var('dart_git') + '/mime.git@b01c9a24e0991da479bd405138be3b3e403ff456',
431+
Var('dart_git') + '/mime.git@8d2d559240ad76c8c2d231bcee0d89cf0ea3edc6',
432432

433433
'src/flutter/third_party/dart/third_party/pkg/mockito':
434434
Var('dart_git') + '/mockito.git@2302814df66e651b6710311366501523dbee2e11',
@@ -437,13 +437,13 @@ deps = {
437437
Var('dart_git') + '/native.git@fef40aebc3cf34654919e8a5785b6c50b3ea445c',
438438

439439
'src/flutter/third_party/dart/third_party/pkg/package_config':
440-
Var('dart_git') + '/package_config.git@39096768806ccae4b7025dd4114f15f2df424b0c',
440+
Var('dart_git') + '/package_config.git@903a0e528f91aef90821c8f5eaafbc1ae27198ab',
441441

442442
'src/flutter/third_party/dart/third_party/pkg/path':
443-
Var('dart_git') + '/path.git@aea50fa0e997e0401ea271783dddd364ce72f924',
443+
Var('dart_git') + '/path.git@8fc4c72415f254b953b17929b56283cceb3dc5c4',
444444

445445
'src/flutter/third_party/dart/third_party/pkg/pool':
446-
Var('dart_git') + '/pool.git@1a6f2df19d7a24baaf674e032a0310a4f76725de',
446+
Var('dart_git') + '/pool.git@88e463600c636a0d8cdb5dc306524ebf04b06baf',
447447

448448
'src/flutter/third_party/dart/third_party/pkg/protobuf':
449449
Var('dart_git') + '/protobuf.git' + '@' + Var('dart_protobuf_rev'),
@@ -452,49 +452,49 @@ deps = {
452452
Var('dart_git') + '/pub.git' + '@' + Var('dart_pub_rev'),
453453

454454
'src/flutter/third_party/dart/third_party/pkg/pub_semver':
455-
Var('dart_git') + '/pub_semver.git@f57c9c31dfd4e45ce6b11f18ee388e526ba1792a',
455+
Var('dart_git') + '/pub_semver.git@a9025f3cc23ebb0f86c0af8759d95306b9133ce0',
456456

457457
'src/flutter/third_party/dart/third_party/pkg/shelf':
458-
Var('dart_git') + '/shelf.git@338962c5a80761ca60921fc9c9b3e6ff57ffc82c',
458+
Var('dart_git') + '/shelf.git@ea3c983a1e721acf5e7e42a4d3ade65b9ccf51a9',
459459

460460
'src/flutter/third_party/dart/third_party/pkg/source_map_stack_trace':
461-
Var('dart_git') + '/source_map_stack_trace.git@6834af5e9e4ba880741b1357a5967fee8d90827c',
461+
Var('dart_git') + '/source_map_stack_trace.git@96a8213dacf7cd42aefb1311491a4169826f98d2',
462462

463463
'src/flutter/third_party/dart/third_party/pkg/source_maps':
464-
Var('dart_git') + '/source_maps.git@181a41c10668801486c53b48d6fce42fea5c9eca',
464+
Var('dart_git') + '/source_maps.git@caa79c2011015759c6cf3299f299f5cccdf8bb61',
465465

466466
'src/flutter/third_party/dart/third_party/pkg/source_span':
467-
Var('dart_git') + '/source_span.git@e80cb44fc0f8d284e86372c9c98bbdd958810beb',
467+
Var('dart_git') + '/source_span.git@59a3903521dbf4c38c77df73669e73174a170327',
468468

469469
'src/flutter/third_party/dart/third_party/pkg/sse':
470-
Var('dart_git') + '/sse.git@1bb0a98da769793efe7495e08c947515dc48e42e',
470+
Var('dart_git') + '/sse.git@7dcde164d5bfe707441f206379ef33e7509e2aac',
471471

472472
'src/flutter/third_party/dart/third_party/pkg/stack_trace':
473-
Var('dart_git') + '/stack_trace.git@4d346f70990f3e2fe1fbfbbaa537b9ae8760f25e',
473+
Var('dart_git') + '/stack_trace.git@ab09060b82c936c38c04eb49c1154b83f6648349',
474474

475475
'src/flutter/third_party/dart/third_party/pkg/stream_channel':
476-
Var('dart_git') + '/stream_channel.git@61ad87242146c54cbe90f1cb436e830ae873925b',
476+
Var('dart_git') + '/stream_channel.git@b41ff7a25395ace8b23e454e3d1a3459a71306ca',
477477

478478
'src/flutter/third_party/dart/third_party/pkg/string_scanner':
479-
Var('dart_git') + '/string_scanner.git@32468bdd9a2baefe2fbcae31ac21daca9e2a8bde',
479+
Var('dart_git') + '/string_scanner.git@7b37c1b3d1ca6b581792e6ba385f651573af4a45',
480480

481481
'src/flutter/third_party/dart/third_party/pkg/tar':
482482
Var('dart_git') + '/external/github.com/simolus3/tar.git@b62573f39a4de28f69d9ed82b02fbd96b12b9633',
483483

484484
'src/flutter/third_party/dart/third_party/pkg/term_glyph':
485-
Var('dart_git') + '/term_glyph.git@a46b48bd28c724e3cd6c18464e1d5ce823601488',
485+
Var('dart_git') + '/term_glyph.git@c86e8171ee7e9f6fc8e775e0be755a603dd0b72d',
486486

487487
'src/flutter/third_party/dart/third_party/pkg/test':
488488
Var('dart_git') + '/test.git@2464ad5c5945c98edd33fb69b3616a14771f1c8d',
489489

490490
'src/flutter/third_party/dart/third_party/pkg/test_reflective_loader':
491-
Var('dart_git') + '/test_reflective_loader.git@f8807e0e5816e30ab592424e3916fee90b90623e',
491+
Var('dart_git') + '/test_reflective_loader.git@816942eaeeac30cc59d8699f1e94ad779cc53c06',
492492

493493
'src/flutter/third_party/dart/third_party/pkg/tools':
494494
Var('dart_git') + '/tools.git' + '@' + Var('dart_tools_rev'),
495495

496496
'src/flutter/third_party/dart/third_party/pkg/typed_data':
497-
Var('dart_git') + '/typed_data.git@fb1958ca880d650972e124222d3d9e41bd35c76c',
497+
Var('dart_git') + '/typed_data.git@d14f9654f7a5d6baa7dcc27691bd0fa56769fb67',
498498

499499
'src/flutter/third_party/dart/third_party/pkg/watcher':
500500
Var('dart_git') + '/watcher.git' + '@' + Var('dart_watcher_rev'),
@@ -512,7 +512,7 @@ deps = {
512512
Var('dart_git') + '/external/github.com/google/webkit_inspection_protocol.dart.git' + '@' + Var('dart_webkit_inspection_protocol_rev'),
513513

514514
'src/flutter/third_party/dart/third_party/pkg/yaml':
515-
Var('dart_git') + '/yaml.git@8fb8147e40236bdefd02abbca7b92ddfd7ca0749',
515+
Var('dart_git') + '/yaml.git@7873b3fb9f16ec83bc7778fed58615fa91f1f042',
516516

517517
'src/flutter/third_party/dart/third_party/pkg/yaml_edit':
518518
Var('dart_git') + '/yaml_edit.git' + '@' + Var('dart_yaml_edit_rev'),

ci/licenses_golden/licenses_dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Signature: 9f6941d58d90aa4af72c4aa1c7eafb90
1+
Signature: 6243d55d5cfde4a26b890d8d10a5a74e
22

33
====================================================================================================
44
LIBRARY: dart
@@ -4093,6 +4093,7 @@ ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os.cc + ../../../flutter/th
40934093
ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_only.dart + ../../../flutter/third_party/dart/LICENSE
40944094
ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/dart2js_only.dart + ../../../flutter/third_party/dart/LICENSE
40954095
ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/synced/invocation_mirror_constants.dart + ../../../flutter/third_party/dart/LICENSE
4096+
ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/date_time_patch.dart + ../../../flutter/third_party/dart/LICENSE
40964097
ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/compact_hash.dart + ../../../flutter/third_party/dart/LICENSE
40974098
TYPE: LicenseType.bsd
40984099
FILE: ../../../flutter/third_party/dart/runtime/bin/ifaddrs.cc
@@ -4106,6 +4107,7 @@ FILE: ../../../flutter/third_party/dart/runtime/vm/os.cc
41064107
FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_only.dart
41074108
FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/dart2js_only.dart
41084109
FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/synced/invocation_mirror_constants.dart
4110+
FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/date_time_patch.dart
41094111
FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/compact_hash.dart
41104112
----------------------------------------------------------------------------------------------------
41114113
Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
@@ -4745,7 +4747,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice
47454747
This Source Code Form is "Incompatible With Secondary Licenses", as
47464748
defined by the Mozilla Public License, v. 2.0.
47474749

4748-
You may obtain a copy of this library's Source Code Form from: https://dart.googlesource.com/sdk/+/53c41325c29f69fee890df64eb6b0383875e27b2
4750+
You may obtain a copy of this library's Source Code Form from: https://dart.googlesource.com/sdk/+/49b5590c8d807425ccb1a5d2989aa444903b13be
47494751
/third_party/fallback_root_certificates/
47504752

47514753
====================================================================================================

display_list/BUILD.gn

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ if (enable_unittests) {
131131
":display_list",
132132
":display_list_fixtures",
133133
"//flutter/display_list/testing:display_list_testing",
134+
"//flutter/impeller/typographer/backends/skia:typographer_skia_backend",
134135
"//flutter/testing",
135136
"//flutter/testing:skia",
136137
]

display_list/display_list_unittests.cc

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include "flutter/testing/display_list_testing.h"
2323
#include "flutter/testing/testing.h"
2424

25+
#include "impeller/typographer/backends/skia/text_frame_skia.h"
2526
#include "third_party/skia/include/core/SkBBHFactory.h"
2627
#include "third_party/skia/include/core/SkColorFilter.h"
2728
#include "third_party/skia/include/core/SkPictureRecorder.h"
@@ -4331,5 +4332,30 @@ TEST_F(DisplayListTest, DrawDisplayListForwardsBackdropFlag) {
43314332
EXPECT_TRUE(parent_dl->root_has_backdrop_filter());
43324333
}
43334334

4335+
TEST_F(DisplayListTest, TextFrameOpacityPeephole) {
4336+
// Single character can have opacity peephole applied.
4337+
{
4338+
std::string message = "A";
4339+
sk_sp<SkTextBlob> blob = CreateTextBlob(message);
4340+
auto frame = impeller::MakeTextFrameFromTextBlobSkia(blob);
4341+
DisplayListBuilder builder;
4342+
builder.DrawTextFrame(frame, 0, 0, {});
4343+
auto dl = builder.Build();
4344+
EXPECT_TRUE(dl->can_apply_group_opacity());
4345+
}
4346+
4347+
// Multiple characters cannot have opacity peephole applied.
4348+
{
4349+
std::string message = "ABC";
4350+
sk_sp<SkTextBlob> blob = CreateTextBlob(message);
4351+
4352+
auto frame = impeller::MakeTextFrameFromTextBlobSkia(blob);
4353+
DisplayListBuilder builder;
4354+
builder.DrawTextFrame(frame, 0, 0, {});
4355+
auto dl = builder.Build();
4356+
EXPECT_FALSE(dl->can_apply_group_opacity());
4357+
}
4358+
}
4359+
43344360
} // namespace testing
43354361
} // namespace flutter

display_list/dl_builder.cc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1698,7 +1698,11 @@ void DisplayListBuilder::drawTextFrame(
16981698
// they will protect overlapping glyphs from the effects of overdraw
16991699
// so we must make the conservative assessment that this DL layer is
17001700
// not compatible with group opacity inheritance.
1701-
UpdateLayerOpacityCompatibility(false);
1701+
// A single glyph can still have the opacity peephole applied (this is
1702+
// likely a glyph used as an Icon)
1703+
const bool is_single_glyph = text_frame->GetRunCount() == 1u &&
1704+
text_frame->GetRuns()[0].GetGlyphCount() == 1u;
1705+
UpdateLayerOpacityCompatibility(is_single_glyph);
17021706
UpdateLayerResult(result);
17031707
}
17041708
}

display_list/testing/dl_test_snippets.cc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -980,5 +980,12 @@ sk_sp<SkTextBlob> GetTestTextBlob(int index) {
980980
return blob;
981981
}
982982

983+
sk_sp<SkTextBlob> CreateTextBlob(std::string& message) {
984+
sk_sp<SkTextBlob> blob =
985+
SkTextBlob::MakeFromText(message.c_str(), message.size(),
986+
CreateTestFontOfSize(20), SkTextEncoding::kUTF8);
987+
return blob;
988+
}
989+
983990
} // namespace testing
984991
} // namespace flutter

display_list/testing/dl_test_snippets.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,8 @@ SkFont CreateTestFontOfSize(SkScalar scalar);
227227

228228
sk_sp<SkTextBlob> GetTestTextBlob(int index);
229229

230+
sk_sp<SkTextBlob> CreateTextBlob(std::string& message);
231+
230232
struct DisplayListInvocation {
231233
// ----------------------------------
232234
// Required fields for initialization

fml/cpu_affinity.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ CPUSpeedTracker::CPUSpeedTracker(std::vector<CpuIndexAndSpeed> data)
5858
}
5959
if (data.speed == min_speed_value) {
6060
efficiency_.push_back(data.index);
61+
} else {
62+
not_efficiency_.push_back(data.index);
6163
}
6264
}
6365

@@ -77,6 +79,8 @@ const std::vector<size_t>& CPUSpeedTracker::GetIndices(
7779
return efficiency_;
7880
case CpuAffinity::kNotPerformance:
7981
return not_performance_;
82+
case CpuAffinity::kNotEfficiency:
83+
return not_efficiency_;
8084
}
8185
}
8286

fml/cpu_affinity.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ enum class CpuAffinity {
2626

2727
/// @brief Request affinity for all non-performance cores.
2828
kNotPerformance,
29+
30+
/// @brief Request affinity for all non-efficiency cores.
31+
kNotEfficiency,
2932
};
3033

3134
/// @brief Request count of efficiency cores.
@@ -79,6 +82,7 @@ class CPUSpeedTracker {
7982
std::vector<size_t> efficiency_;
8083
std::vector<size_t> performance_;
8184
std::vector<size_t> not_performance_;
85+
std::vector<size_t> not_efficiency_;
8286
};
8387

8488
/// @note Visible for testing.

fml/cpu_affinity_unittests.cc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ TEST(CpuAffinity, NormalSlowMedFastCores) {
2929
ASSERT_EQ(tracker.GetIndices(CpuAffinity::kNotPerformance).size(), 2u);
3030
ASSERT_EQ(tracker.GetIndices(CpuAffinity::kNotPerformance)[0], 0u);
3131
ASSERT_EQ(tracker.GetIndices(CpuAffinity::kNotPerformance)[1], 1u);
32+
ASSERT_EQ(tracker.GetIndices(CpuAffinity::kNotEfficiency).size(), 2u);
33+
ASSERT_EQ(tracker.GetIndices(CpuAffinity::kNotEfficiency)[0], 1u);
34+
ASSERT_EQ(tracker.GetIndices(CpuAffinity::kNotEfficiency)[1], 2u);
3235
}
3336

3437
TEST(CpuAffinity, NoCpuData) {

0 commit comments

Comments
 (0)