Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(525)

Unified Diff: content/common/gpu/gpu_memory_manager.h

Issue 12087078: Add unit tests for nonuniform GPU memmgr policy (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Clean up private Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/common/gpu/gpu_memory_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/common/gpu/gpu_memory_manager.h
diff --git a/content/common/gpu/gpu_memory_manager.h b/content/common/gpu/gpu_memory_manager.h
index a8eaf990c6c56a94d7ac82538fbada36c549e9ef..895f7b9b3c8f6a595131421ad455bc034d3c003e 100644
--- a/content/common/gpu/gpu_memory_manager.h
+++ b/content/common/gpu/gpu_memory_manager.h
@@ -95,6 +95,15 @@ class CONTENT_EXPORT GpuMemoryManager :
FRIEND_TEST_ALL_PREFIXES(GpuMemoryManagerTest,
TestUnmanagedTracking);
+ FRIEND_TEST_ALL_PREFIXES(GpuMemoryManagerTestNonuniform,
+ BackgroundMru);
+ FRIEND_TEST_ALL_PREFIXES(GpuMemoryManagerTestNonuniform,
+ BackgroundDiscardPersistent);
+ FRIEND_TEST_ALL_PREFIXES(GpuMemoryManagerTestNonuniform,
+ UnmanagedTracking);
+ FRIEND_TEST_ALL_PREFIXES(GpuMemoryManagerTestNonuniform,
+ DefaultAllocation);
ccameron 2013/01/30 21:03:19 This list is getting fairly absurdly long. There
+
typedef std::map<gpu::gles2::MemoryTracker*, GpuMemoryTrackingGroup*>
TrackingGroupMap;
@@ -144,9 +153,16 @@ class CONTENT_EXPORT GpuMemoryManager :
// Maximum cap on total GPU memory, no matter how much the GPU reports.
uint64 GetMaximumTotalGpuMemory() const;
- // The maximum and minimum amount of memory that a tab may be assigned.
+ // The maximum and minimum amount of memory that a client may be assigned.
uint64 GetMaximumClientAllocation() const;
- uint64 GetMinimumClientAllocation() const;
+ uint64 GetMinimumClientAllocation() const {
+ return bytes_minimum_per_client_;
+ }
+ // The default amount of memory that a client is assigned, if it has not
+ // reported any memory usage stats yet.
+ uint64 GetDefaultClientAllocation() const {
+ return bytes_default_per_client_;
+ }
// Get a reasonable memory limit from a viewport's surface area.
static uint64 CalcAvailableFromViewportArea(int viewport_area);
@@ -185,6 +201,9 @@ class CONTENT_EXPORT GpuMemoryManager :
ClientStateList* GetClientList(GpuMemoryManagerClientState* client_state);
// Interfaces for testing
+ void TestingSetUseNonuniformMemoryPolicy(bool use_nonuniform_memory_policy) {
+ use_nonuniform_memory_policy_ = use_nonuniform_memory_policy;
+ }
void TestingDisableScheduleManage() { disable_schedule_manage_ = true; }
void TestingSetAvailableGpuMemory(uint64 bytes) {
bytes_available_gpu_memory_ = bytes;
@@ -193,7 +212,10 @@ class CONTENT_EXPORT GpuMemoryManager :
void TestingSetMinimumClientAllocation(uint64 bytes) {
bytes_minimum_per_client_ = bytes;
- bytes_minimum_per_client_overridden_ = true;
+ }
+
+ void TestingSetDefaultClientAllocation(uint64 bytes) {
+ bytes_default_per_client_ = bytes;
}
void TestingSetUnmanagedLimitStep(uint64 bytes) {
@@ -230,9 +252,9 @@ class CONTENT_EXPORT GpuMemoryManager :
uint64 bytes_available_gpu_memory_;
bool bytes_available_gpu_memory_overridden_;
- // The minimum allocation that may be given to a single renderer.
+ // The minimum and default allocations for a single client.
uint64 bytes_minimum_per_client_;
- bool bytes_minimum_per_client_overridden_;
+ uint64 bytes_default_per_client_;
// The maximum amount of memory that can be allocated for GPU resources
// in nonvisible renderers.
« no previous file with comments | « no previous file | content/common/gpu/gpu_memory_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698