| Index: cc/resources/resource_pool.cc
|
| diff --git a/cc/resources/resource_pool.cc b/cc/resources/resource_pool.cc
|
| index 08e2f4e1fc887351e7f2f3da8e031dca1f1b7d9f..209da05a33984b5a6101bbcd8d2b61e0b6a33f61 100644
|
| --- a/cc/resources/resource_pool.cc
|
| +++ b/cc/resources/resource_pool.cc
|
| @@ -47,15 +47,17 @@ 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);
|
| }
|
|
|
| + DCHECK(Resource::VerifySizeInBytes(size, format, nullptr));
|
| scoped_ptr<ScopedResource> resource =
|
| ScopedResource::Create(resource_provider_);
|
| resource->AllocateManaged(size, target_, format);
|
|
|
| - memory_usage_bytes_ += resource->bytes();
|
| + memory_usage_bytes_ += Resource::UncheckedMemorySizeBytes(size, format);
|
| ++resource_count_;
|
| return resource.Pass();
|
| }
|
| @@ -75,7 +77,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 +111,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 +150,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));
|
| }
|
|
|
|
|