Index: content/common/gpu/gpu_memory_manager_unittest.cc |
diff --git a/content/common/gpu/gpu_memory_manager_unittest.cc b/content/common/gpu/gpu_memory_manager_unittest.cc |
deleted file mode 100644 |
index 3b6653bfa9453532a013a34117f7e4eab8371dd8..0000000000000000000000000000000000000000 |
--- a/content/common/gpu/gpu_memory_manager_unittest.cc |
+++ /dev/null |
@@ -1,189 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "content/common/gpu/gpu_memory_manager.h" |
- |
-#include "content/common/gpu/gpu_memory_manager_client.h" |
-#include "content/common/gpu/gpu_memory_tracking.h" |
-#include "gpu/command_buffer/common/gpu_memory_allocation.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
-#include "ui/gfx/geometry/size_conversions.h" |
- |
-using gpu::MemoryAllocation; |
- |
-class FakeMemoryTracker : public gpu::gles2::MemoryTracker { |
- public: |
- void TrackMemoryAllocatedChange( |
- size_t /* old_size */, |
- size_t /* new_size */) override {} |
- bool EnsureGPUMemoryAvailable(size_t /* size_needed */) override { |
- return true; |
- } |
- uint64_t ClientTracingId() const override { return 0; } |
- int ClientId() const override { return 0; } |
- uint64_t ShareGroupTracingGUID() const override { return 0; } |
- |
- private: |
- ~FakeMemoryTracker() override {} |
-}; |
- |
-namespace content { |
- |
-// This class is used to collect all stub assignments during a |
-// Manage() call. |
-class ClientAssignmentCollector { |
- public: |
- struct ClientMemoryStat { |
- MemoryAllocation allocation; |
- }; |
- typedef base::hash_map<GpuMemoryManagerClient*, ClientMemoryStat> |
- ClientMemoryStatMap; |
- |
- static const ClientMemoryStatMap& GetClientStatsForLastManage() { |
- return client_memory_stats_for_last_manage_; |
- } |
- static void ClearAllStats() { |
- client_memory_stats_for_last_manage_.clear(); |
- } |
- static void AddClientStat(GpuMemoryManagerClient* client, |
- const MemoryAllocation& allocation) { |
- DCHECK(!client_memory_stats_for_last_manage_.count(client)); |
- client_memory_stats_for_last_manage_[client].allocation = allocation; |
- } |
- |
- private: |
- static ClientMemoryStatMap client_memory_stats_for_last_manage_; |
-}; |
- |
-ClientAssignmentCollector::ClientMemoryStatMap |
- ClientAssignmentCollector::client_memory_stats_for_last_manage_; |
- |
-class FakeClient : public GpuMemoryManagerClient { |
- public: |
- GpuMemoryManager* memmgr_; |
- bool suggest_have_frontbuffer_; |
- MemoryAllocation allocation_; |
- uint64 total_gpu_memory_; |
- gfx::Size surface_size_; |
- GpuMemoryManagerClient* share_group_; |
- scoped_refptr<gpu::gles2::MemoryTracker> memory_tracker_; |
- scoped_ptr<GpuMemoryTrackingGroup> tracking_group_; |
- scoped_ptr<GpuMemoryManagerClientState> client_state_; |
- |
- // This will create a client with no surface |
- FakeClient(GpuMemoryManager* memmgr, GpuMemoryManagerClient* share_group) |
- : memmgr_(memmgr), |
- suggest_have_frontbuffer_(false), |
- total_gpu_memory_(0), |
- share_group_(share_group), |
- memory_tracker_(NULL) { |
- if (!share_group_) { |
- memory_tracker_ = new FakeMemoryTracker(); |
- tracking_group_.reset( |
- memmgr_->CreateTrackingGroup(0, memory_tracker_.get())); |
- } |
- client_state_.reset(memmgr_->CreateClientState(this, false, true)); |
- } |
- |
- // This will create a client with a surface |
- FakeClient(GpuMemoryManager* memmgr, int32 surface_id, bool visible) |
- : memmgr_(memmgr), |
- suggest_have_frontbuffer_(false), |
- total_gpu_memory_(0), |
- share_group_(NULL), |
- memory_tracker_(NULL) { |
- memory_tracker_ = new FakeMemoryTracker(); |
- tracking_group_.reset( |
- memmgr_->CreateTrackingGroup(0, memory_tracker_.get())); |
- client_state_.reset( |
- memmgr_->CreateClientState(this, surface_id != 0, visible)); |
- } |
- |
- ~FakeClient() override { |
- client_state_.reset(); |
- tracking_group_.reset(); |
- memory_tracker_ = NULL; |
- } |
- |
- void SuggestHaveFrontBuffer(bool suggest_have_frontbuffer) override { |
- suggest_have_frontbuffer_ = suggest_have_frontbuffer; |
- } |
- |
- bool GetTotalGpuMemory(uint64* bytes) override { |
- if (total_gpu_memory_) { |
- *bytes = total_gpu_memory_; |
- return true; |
- } |
- return false; |
- } |
- void SetTotalGpuMemory(uint64 bytes) { total_gpu_memory_ = bytes; } |
- |
- gpu::gles2::MemoryTracker* GetMemoryTracker() const override { |
- if (share_group_) |
- return share_group_->GetMemoryTracker(); |
- return memory_tracker_.get(); |
- } |
- |
- gfx::Size GetSurfaceSize() const override { return surface_size_; } |
- void SetSurfaceSize(gfx::Size size) { surface_size_ = size; } |
- |
- void SetVisible(bool visible) { |
- client_state_->SetVisible(visible); |
- } |
- |
- uint64 BytesWhenVisible() const { |
- return allocation_.bytes_limit_when_visible; |
- } |
-}; |
- |
-class GpuMemoryManagerTest : public testing::Test { |
- protected: |
- static const uint64 kFrontbufferLimitForTest = 3; |
- |
- GpuMemoryManagerTest() |
- : memmgr_(0, kFrontbufferLimitForTest) { |
- memmgr_.TestingDisableScheduleManage(); |
- } |
- |
- void SetUp() override {} |
- |
- static int32 GenerateUniqueSurfaceId() { |
- static int32 surface_id_ = 1; |
- return surface_id_++; |
- } |
- |
- bool IsAllocationForegroundForSurfaceYes( |
- const MemoryAllocation& alloc) { |
- return true; |
- } |
- bool IsAllocationBackgroundForSurfaceYes( |
- const MemoryAllocation& alloc) { |
- return true; |
- } |
- bool IsAllocationHibernatedForSurfaceYes( |
- const MemoryAllocation& alloc) { |
- return true; |
- } |
- bool IsAllocationForegroundForSurfaceNo( |
- const MemoryAllocation& alloc) { |
- return alloc.bytes_limit_when_visible != 0; |
- } |
- bool IsAllocationBackgroundForSurfaceNo( |
- const MemoryAllocation& alloc) { |
- return alloc.bytes_limit_when_visible != 0; |
- } |
- bool IsAllocationHibernatedForSurfaceNo( |
- const MemoryAllocation& alloc) { |
- return alloc.bytes_limit_when_visible == 0; |
- } |
- |
- void Manage() { |
- ClientAssignmentCollector::ClearAllStats(); |
- memmgr_.Manage(); |
- } |
- |
- GpuMemoryManager memmgr_; |
-}; |
- |
-} // namespace content |