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

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

Issue 11293194: ui: Prefer +/- operators to apply offsets. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: floats Created 8 years, 1 month 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
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 879fa5162c161bd47f320085c2db1357f57678af..d5f1659ae896667d6e7541509ee50e89208f6a43 100644
--- a/content/common/gpu/gpu_memory_manager.h
+++ b/content/common/gpu/gpu_memory_manager.h
@@ -103,6 +103,10 @@ class CONTENT_EXPORT GpuMemoryManager :
StubMemoryStatsForLastManageTests);
FRIEND_TEST_ALL_PREFIXES(GpuMemoryManagerTest,
TestManagedUsageTracking);
+ FRIEND_TEST_ALL_PREFIXES(GpuMemoryManagerTest,
+ TestBackgroundCutoff);
+ FRIEND_TEST_ALL_PREFIXES(GpuMemoryManagerTest,
+ TestBackgroundMru);
struct ClientState {
ClientState(GpuMemoryManagerClient* client,
@@ -141,16 +145,18 @@ class CONTENT_EXPORT GpuMemoryManager :
void Manage();
void SetClientsHibernatedState(const ClientStateVector& clients) const;
size_t GetVisibleClientAllocation(const ClientStateVector& clients) const;
+ size_t GetCurrentBackgroundedAvailableGpuMemory() const;
// Update the amount of GPU memory we think we have in the system, based
// on what the stubs' contexts report.
void UpdateAvailableGpuMemory(const ClientStateVector& clients);
+ void UpdateBackgroundedAvailableGpuMemory();
// The amount of video memory which is available for allocation.
size_t GetAvailableGpuMemory() const;
- // Default per-OS value for the amount of available GPU memory, used
- // if we can't query the driver for an exact value.
+ // Minimum value of available GPU memory, no matter how little the GPU
+ // reports. This is the default value.
size_t GetDefaultAvailableGpuMemory() const;
// Maximum cap on total GPU memory, no matter how much the GPU reports.
@@ -173,6 +179,14 @@ class CONTENT_EXPORT GpuMemoryManager :
bool TestingCompareClients(GpuMemoryManagerClient* lhs,
GpuMemoryManagerClient* rhs) const;
void TestingDisableScheduleManage() { disable_schedule_manage_ = true; }
+ void TestingSetAvailableGpuMemory(size_t bytes) {
+ bytes_available_gpu_memory_ = bytes;
+ bytes_available_gpu_memory_overridden_ = true;
+ }
+
+ void TestingSetBackgroundedAvailableGpuMemory(size_t bytes) {
+ bytes_backgrounded_available_gpu_memory_ = bytes;
+ }
// All clients of this memory manager which have callbacks we
// can use to adjust memory usage
@@ -190,6 +204,10 @@ class CONTENT_EXPORT GpuMemoryManager :
size_t bytes_available_gpu_memory_;
bool bytes_available_gpu_memory_overridden_;
+ // The maximum amount of memory that can be allocated for GPU resources
+ // in backgrounded renderers.
+ size_t bytes_backgrounded_available_gpu_memory_;
+
// The current total memory usage, and historical maximum memory usage
size_t bytes_allocated_current_;
size_t bytes_allocated_managed_visible_;

Powered by Google App Engine
This is Rietveld 408576698