From 2f24c4214ffc337f2c867e3981c33b16b3774bf4 Mon Sep 17 00:00:00 2001 From: gaaclarke <30870216+gaaclarke@users.noreply.github.com> Date: Tue, 2 Jul 2024 11:32:12 -0700 Subject: [PATCH] [Impeller] fixed units for memory measurement (flutter/engine#53687) [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style --- .../flutter/impeller/renderer/backend/metal/allocator_mtl.mm | 3 ++- .../impeller/renderer/backend/metal/allocator_mtl_unittests.mm | 2 +- .../flutter/impeller/renderer/backend/vulkan/allocator_vk.cc | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl.mm b/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl.mm index 913f733320..6a9e4437f4 100644 --- a/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl.mm +++ b/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl.mm @@ -99,7 +99,8 @@ void DebugAllocatorStats::Decrement(size_t size) { } size_t DebugAllocatorStats::GetAllocationSizeMB() { - size_t new_value = size_ / 1000000; + // RAM is measured in MiB, thus a divisor of 2^20 instead of 1,000,000. + size_t new_value = size_ / (1024 * 1024); return new_value; } diff --git a/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl_unittests.mm b/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl_unittests.mm index 4150caf20c..ea1bac5421 100644 --- a/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl_unittests.mm +++ b/engine/src/flutter/impeller/renderer/backend/metal/allocator_mtl_unittests.mm @@ -36,7 +36,7 @@ TEST_P(AllocatorMTLTest, DebugTraceMemoryStatistics) { TextureDescriptor desc; desc.format = PixelFormat::kR8G8B8A8UNormInt; desc.storage_mode = StorageMode::kDeviceTransient; - desc.size = {1000, 1000}; + desc.size = {1024, 1024}; auto texture_1 = allocator->CreateTexture(desc); EXPECT_EQ(allocator->DebugGetHeapUsage(), 0u); diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/allocator_vk.cc b/engine/src/flutter/impeller/renderer/backend/vulkan/allocator_vk.cc index 364b9aa49a..032f9d7e7d 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/allocator_vk.cc +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/allocator_vk.cc @@ -519,7 +519,7 @@ size_t AllocatorVK::DebugGetHeapUsage() const { total_usage += budget.usage; } // Convert bytes to MB. - total_usage *= 1e-6; + total_usage /= (1024 * 1024); return total_usage; }