Index: cc/resources/resource_provider.cc |
diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc |
index d9872514d5b12cc5ebf739fbba8ac59c955b69a2..d4c1a1d921e67c92544baac39ecb8635a835e444 100644 |
--- a/cc/resources/resource_provider.cc |
+++ b/cc/resources/resource_provider.cc |
@@ -269,6 +269,24 @@ ResourceProvider::ResourceId ResourceProvider::CreateResourceFromTextureMailbox( |
return id; |
} |
+void ResourceProvider::ResizeResource(ResourceId id, gfx::Size size) { |
+ DCHECK_LE(size.width(), max_texture_size_); |
+ DCHECK_LE(size.height(), max_texture_size_); |
piman
2013/03/22 18:03:03
Note: you're only handling GL resources. You shoul
Leandro Graciá Gil
2013/03/22 20:40:58
Done.
|
+ DCHECK(thread_checker_.CalledOnValidThread()); |
+ ResourceMap::iterator it = resources_.find(id); |
+ CHECK(it != resources_.end()); |
+ Resource* resource = &it->second; |
+ DCHECK(!resource->lock_for_read_count); |
+ DCHECK(!resource->marked_for_deletion); |
+ DCHECK(resource->pending_set_pixels || !resource->locked_for_write); |
piman
2013/03/22 18:03:03
I'm not sure about this if pending_set_pixels is s
epenner
2013/03/22 22:31:00
I added reveman to review as well.
I believe the
|
+ DCHECK(!resource->exported); |
piman
2013/03/22 18:03:03
Check that it's not external (you shouldn't be res
Leandro Graciá Gil
2013/03/22 20:40:58
Done.
|
+ |
+ if (resource->size != size) { |
+ resource->size = size; |
+ resource->allocated = false; |
piman
2013/03/22 18:03:03
This is ok for GL resources (LazyAllocate will res
Leandro Graciá Gil
2013/03/22 20:40:58
Done.
|
+ } |
+} |
+ |
void ResourceProvider::DeleteResource(ResourceId id) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
ResourceMap::iterator it = resources_.find(id); |