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)); |
} |