Index: cc/resources/resource_pool.cc |
diff --git a/cc/resources/resource_pool.cc b/cc/resources/resource_pool.cc |
index fe4dabc88be54531abc023fdeb781786fa0ef126..669897a0a3ba5e74c896c45cf766dd6b3566ffeb 100644 |
--- a/cc/resources/resource_pool.cc |
+++ b/cc/resources/resource_pool.cc |
@@ -95,7 +95,8 @@ ResourcePool::~ResourcePool() { |
} |
Resource* ResourcePool::AcquireResource(const gfx::Size& size, |
- ResourceFormat format) { |
+ ResourceFormat format, |
+ const gfx::ColorSpace& color_space) { |
// Finding resources in |unused_resources_| from MRU to LRU direction, touches |
// LRU resources only if needed, which increases possibility of expiring more |
// LRU resources within kResourceExpirationDelayMs. |
@@ -108,6 +109,8 @@ Resource* ResourcePool::AcquireResource(const gfx::Size& size, |
continue; |
if (resource->size() != size) |
continue; |
+ if (resource->color_space() != color_space) |
+ continue; |
// Transfer resource to |in_use_resources_|. |
in_use_resources_[resource->id()] = std::move(*it); |
@@ -121,10 +124,11 @@ Resource* ResourcePool::AcquireResource(const gfx::Size& size, |
PoolResource::Create(resource_provider_); |
if (use_gpu_memory_buffers_) { |
- pool_resource->AllocateWithGpuMemoryBuffer(size, format, usage_); |
+ pool_resource->AllocateWithGpuMemoryBuffer(size, format, usage_, |
+ color_space); |
} else { |
pool_resource->Allocate(size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, |
- format); |
+ format, color_space); |
} |
DCHECK(ResourceUtil::VerifySizeInBytes<size_t>(pool_resource->size(), |