Index: cc/resources/resource_pool.cc |
diff --git a/cc/resources/resource_pool.cc b/cc/resources/resource_pool.cc |
index 08e2f4e1fc887351e7f2f3da8e031dca1f1b7d9f..f5c71678f2740a5966f41958c08a0bf49f77ae70 100644 |
--- a/cc/resources/resource_pool.cc |
+++ b/cc/resources/resource_pool.cc |
@@ -47,7 +47,8 @@ scoped_ptr<ScopedResource> ResourcePool::AcquireResource( |
continue; |
unused_resources_.erase(it); |
- unused_memory_usage_bytes_ -= resource->bytes(); |
+ unused_memory_usage_bytes_ -= |
+ Resource::UncheckedMemorySizeBytes(size, format); |
return make_scoped_ptr(resource); |
} |
@@ -55,7 +56,9 @@ scoped_ptr<ScopedResource> ResourcePool::AcquireResource( |
ScopedResource::Create(resource_provider_); |
resource->AllocateManaged(size, target_, format); |
- memory_usage_bytes_ += resource->bytes(); |
+ DCHECK(Resource::VerifySizeInBytes(resource->size(), resource->format())); |
+ memory_usage_bytes_ += |
+ Resource::UncheckedMemorySizeBytes(resource->size(), resource->format()); |
++resource_count_; |
return resource.Pass(); |
} |
@@ -75,7 +78,8 @@ scoped_ptr<ScopedResource> ResourcePool::TryAcquireResourceWithContentId( |
DCHECK(resource_provider_->CanLockForWrite(resource->id())); |
unused_resources_.erase(it); |
- unused_memory_usage_bytes_ -= resource->bytes(); |
+ unused_memory_usage_bytes_ -= |
+ Resource::UncheckedMemorySizeBytes(resource->size(), resource->format()); |
return make_scoped_ptr(resource); |
} |
@@ -108,8 +112,10 @@ void ResourcePool::ReduceResourceUsage() { |
// memory is necessarily returned to the OS. |
ScopedResource* resource = unused_resources_.front().resource; |
unused_resources_.pop_front(); |
- memory_usage_bytes_ -= resource->bytes(); |
- unused_memory_usage_bytes_ -= resource->bytes(); |
+ size_t resource_bytes = Resource::UncheckedMemorySizeBytes( |
+ resource->size(), resource->format()); |
+ memory_usage_bytes_ -= resource_bytes; |
+ unused_memory_usage_bytes_ -= resource_bytes; |
--resource_count_; |
delete resource; |
} |
@@ -145,7 +151,8 @@ void ResourcePool::CheckBusyResources(bool wait_if_needed) { |
void ResourcePool::DidFinishUsingResource(ScopedResource* resource, |
uint64_t content_id) { |
- unused_memory_usage_bytes_ += resource->bytes(); |
+ unused_memory_usage_bytes_ += |
+ Resource::UncheckedMemorySizeBytes(resource->size(), resource->format()); |
unused_resources_.push_back(PoolResource(resource, content_id)); |
} |