-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] Make storage sizes typed. #53700
Conversation
This is similar to our handling of scalars and radians or really any of the stuff in chrono. Storage is always in bytes. Before being displayed, it can be converted into any of unit that makes the most sense. Conversions are non-truncating and everything is constexpr safe.
MemoryBudgetUsageMB is probably incorrectly named and should ideally be renamed to MemoryBudgetUsageMiB for accuracy. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Neato
|
||
TEST(AllocationSizeTest, CanCreateTypedAllocationsWithLiterals) { | ||
using namespace allocation_size_literals; | ||
ASSERT_EQ((1024_bytes).GetByteSize(), 1024u); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oooo!
impeller/base/allocation_size.h
Outdated
|
||
using KibiBytes = AllocationSize<1'024u>; | ||
using MebiBytes = AllocationSize<1'024u * 1'024u>; | ||
using GigiBytes = AllocationSize<1'024u * 1'024u * 1'024u>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not gigibytes
, but gibibytes
:) You're probably going to need to change it across the PR, since the typo came up in a few places.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
derp. Good catch. Fixed everywhere.
auto label is removed for flutter/engine/53700, due to - The status or check suite Linux linux_host_desktop_engine has failed. Please fix the issues identified (or deflake) before re-applying this label.
|
…151293) flutter/engine@4190543...8e2d05f 2024-07-04 [email protected] [Impeller] Re-enable fast blur path for elliptical rrects (flutter/engine#53704) 2024-07-03 [email protected] Roll Skia from 9fd1dc779589 to d5f8dde714e4 (2 revisions) (flutter/engine#53721) 2024-07-03 [email protected] [web] ignore pointer events on plain text spans (flutter/engine#53694) 2024-07-03 [email protected] Add Semantics Property `linkUrl` (flutter/engine#53507) 2024-07-03 [email protected] [Embedder] Document incorrectly named field in FlutterOpenGLFramebuffer. (flutter/engine#53720) 2024-07-03 [email protected] [Impeller] Make storage sizes typed. (flutter/engine#53700) 2024-07-03 [email protected] Convert `run_ios_tests.sh` to `run_ios_tests.dart`. (flutter/engine#53645) 2024-07-03 [email protected] Move `//third_party/android_embedding_dependencies` to `//flutter/third_party`. (flutter/engine#53587) 2024-07-03 [email protected] [Impeller] Document how to debug/profile OpenGL ES on macOS. (flutter/engine#53671) 2024-07-03 [email protected] [Flutter Web(HTML)] fix: shader mask is painted incorrectly on shared offscreen canvas (flutter/engine#44998) 2024-07-03 [email protected] fix: mask disappeared when having nested mask filter on Flutter web HTML (flutter/engine#45166) 2024-07-03 [email protected] Roll Skia from 86ee8cc61508 to 9fd1dc779589 (3 revisions) (flutter/engine#53715) 2024-07-03 [email protected] Roll Skia from c14cce59222b to 86ee8cc61508 (1 revision) (flutter/engine#53713) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…lutter#151293) flutter/engine@4190543...8e2d05f 2024-07-04 [email protected] [Impeller] Re-enable fast blur path for elliptical rrects (flutter/engine#53704) 2024-07-03 [email protected] Roll Skia from 9fd1dc779589 to d5f8dde714e4 (2 revisions) (flutter/engine#53721) 2024-07-03 [email protected] [web] ignore pointer events on plain text spans (flutter/engine#53694) 2024-07-03 [email protected] Add Semantics Property `linkUrl` (flutter/engine#53507) 2024-07-03 [email protected] [Embedder] Document incorrectly named field in FlutterOpenGLFramebuffer. (flutter/engine#53720) 2024-07-03 [email protected] [Impeller] Make storage sizes typed. (flutter/engine#53700) 2024-07-03 [email protected] Convert `run_ios_tests.sh` to `run_ios_tests.dart`. (flutter/engine#53645) 2024-07-03 [email protected] Move `//third_party/android_embedding_dependencies` to `//flutter/third_party`. (flutter/engine#53587) 2024-07-03 [email protected] [Impeller] Document how to debug/profile OpenGL ES on macOS. (flutter/engine#53671) 2024-07-03 [email protected] [Flutter Web(HTML)] fix: shader mask is painted incorrectly on shared offscreen canvas (flutter/engine#44998) 2024-07-03 [email protected] fix: mask disappeared when having nested mask filter on Flutter web HTML (flutter/engine#45166) 2024-07-03 [email protected] Roll Skia from 86ee8cc61508 to 9fd1dc779589 (3 revisions) (flutter/engine#53715) 2024-07-03 [email protected] Roll Skia from c14cce59222b to 86ee8cc61508 (1 revision) (flutter/engine#53713) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…lutter#151293) flutter/engine@4190543...8e2d05f 2024-07-04 [email protected] [Impeller] Re-enable fast blur path for elliptical rrects (flutter/engine#53704) 2024-07-03 [email protected] Roll Skia from 9fd1dc779589 to d5f8dde714e4 (2 revisions) (flutter/engine#53721) 2024-07-03 [email protected] [web] ignore pointer events on plain text spans (flutter/engine#53694) 2024-07-03 [email protected] Add Semantics Property `linkUrl` (flutter/engine#53507) 2024-07-03 [email protected] [Embedder] Document incorrectly named field in FlutterOpenGLFramebuffer. (flutter/engine#53720) 2024-07-03 [email protected] [Impeller] Make storage sizes typed. (flutter/engine#53700) 2024-07-03 [email protected] Convert `run_ios_tests.sh` to `run_ios_tests.dart`. (flutter/engine#53645) 2024-07-03 [email protected] Move `//third_party/android_embedding_dependencies` to `//flutter/third_party`. (flutter/engine#53587) 2024-07-03 [email protected] [Impeller] Document how to debug/profile OpenGL ES on macOS. (flutter/engine#53671) 2024-07-03 [email protected] [Flutter Web(HTML)] fix: shader mask is painted incorrectly on shared offscreen canvas (flutter/engine#44998) 2024-07-03 [email protected] fix: mask disappeared when having nested mask filter on Flutter web HTML (flutter/engine#45166) 2024-07-03 [email protected] Roll Skia from 86ee8cc61508 to 9fd1dc779589 (3 revisions) (flutter/engine#53715) 2024-07-03 [email protected] Roll Skia from c14cce59222b to 86ee8cc61508 (1 revision) (flutter/engine#53713) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This is similar to our handling of degrees and radians or really any of the stuff in chrono.
Storage is always in bytes. Before being displayed, it can be converted into any of unit that makes the most sense. Conversions are non-truncating and everything is constexpr safe.