| Index: cc/resources/resource_provider.cc
|
| diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
|
| index 1cb215bd20993c51ead0dc647575d86e6f535eb3..e7d168609cb62cd582a48ab5a262a84d4a8a5199 100644
|
| --- a/cc/resources/resource_provider.cc
|
| +++ b/cc/resources/resource_provider.cc
|
| @@ -210,28 +210,28 @@ ResourceProvider::Resource::Resource()
|
| lock_for_read_count(0),
|
| imported_count(0),
|
| exported_count(0),
|
| + image_id(0),
|
| + bound_image_id(0),
|
| + dirty_image(false),
|
| locked_for_write(false),
|
| - origin(Internal),
|
| + lost(false),
|
| marked_for_deletion(false),
|
| pending_set_pixels(false),
|
| set_pixels_completion_forced(false),
|
| allocated(false),
|
| enable_read_lock_fences(false),
|
| + has_shared_bitmap_id(false),
|
| read_lock_fence(NULL),
|
| size(),
|
| + origin(Internal),
|
| target(0),
|
| original_filter(0),
|
| filter(0),
|
| - image_id(0),
|
| - bound_image_id(0),
|
| - dirty_image(false),
|
| texture_pool(0),
|
| wrap_mode(0),
|
| - lost(false),
|
| hint(TextureUsageAny),
|
| type(InvalidType),
|
| format(RGBA_8888),
|
| - has_shared_bitmap_id(false),
|
| shared_bitmap(NULL) {}
|
|
|
| ResourceProvider::Resource::~Resource() {}
|
| @@ -254,28 +254,28 @@ ResourceProvider::Resource::Resource(GLuint texture_id,
|
| lock_for_read_count(0),
|
| imported_count(0),
|
| exported_count(0),
|
| + image_id(0),
|
| + bound_image_id(0),
|
| + dirty_image(false),
|
| locked_for_write(false),
|
| - origin(origin),
|
| + lost(false),
|
| marked_for_deletion(false),
|
| pending_set_pixels(false),
|
| set_pixels_completion_forced(false),
|
| allocated(false),
|
| enable_read_lock_fences(false),
|
| + has_shared_bitmap_id(false),
|
| read_lock_fence(NULL),
|
| size(size),
|
| + origin(origin),
|
| target(target),
|
| original_filter(filter),
|
| filter(filter),
|
| - image_id(0),
|
| - bound_image_id(0),
|
| - dirty_image(false),
|
| texture_pool(texture_pool),
|
| wrap_mode(wrap_mode),
|
| - lost(false),
|
| hint(hint),
|
| type(GLTexture),
|
| format(format),
|
| - has_shared_bitmap_id(false),
|
| shared_bitmap(NULL) {
|
| DCHECK(wrap_mode == GL_CLAMP_TO_EDGE || wrap_mode == GL_REPEAT);
|
| DCHECK_EQ(origin == Internal, !!texture_pool);
|
| @@ -296,28 +296,28 @@ ResourceProvider::Resource::Resource(uint8_t* pixels,
|
| lock_for_read_count(0),
|
| imported_count(0),
|
| exported_count(0),
|
| + image_id(0),
|
| + bound_image_id(0),
|
| + dirty_image(false),
|
| locked_for_write(false),
|
| - origin(origin),
|
| + lost(false),
|
| marked_for_deletion(false),
|
| pending_set_pixels(false),
|
| set_pixels_completion_forced(false),
|
| allocated(false),
|
| enable_read_lock_fences(false),
|
| + has_shared_bitmap_id(!!bitmap),
|
| read_lock_fence(NULL),
|
| size(size),
|
| + origin(origin),
|
| target(0),
|
| original_filter(filter),
|
| filter(filter),
|
| - image_id(0),
|
| - bound_image_id(0),
|
| - dirty_image(false),
|
| texture_pool(0),
|
| wrap_mode(wrap_mode),
|
| - lost(false),
|
| hint(TextureUsageAny),
|
| type(Bitmap),
|
| format(RGBA_8888),
|
| - has_shared_bitmap_id(!!bitmap),
|
| shared_bitmap(bitmap) {
|
| DCHECK(wrap_mode == GL_CLAMP_TO_EDGE || wrap_mode == GL_REPEAT);
|
| DCHECK(origin == Delegated || pixels);
|
| @@ -339,28 +339,28 @@ ResourceProvider::Resource::Resource(const SharedBitmapId& bitmap_id,
|
| lock_for_read_count(0),
|
| imported_count(0),
|
| exported_count(0),
|
| + image_id(0),
|
| + bound_image_id(0),
|
| + dirty_image(false),
|
| locked_for_write(false),
|
| - origin(origin),
|
| + lost(false),
|
| marked_for_deletion(false),
|
| pending_set_pixels(false),
|
| set_pixels_completion_forced(false),
|
| allocated(false),
|
| enable_read_lock_fences(false),
|
| + has_shared_bitmap_id(true),
|
| read_lock_fence(NULL),
|
| size(size),
|
| + origin(origin),
|
| target(0),
|
| original_filter(filter),
|
| filter(filter),
|
| - image_id(0),
|
| - bound_image_id(0),
|
| - dirty_image(false),
|
| texture_pool(0),
|
| wrap_mode(wrap_mode),
|
| - lost(false),
|
| hint(TextureUsageAny),
|
| type(Bitmap),
|
| format(RGBA_8888),
|
| - has_shared_bitmap_id(true),
|
| shared_bitmap_id(bitmap_id),
|
| shared_bitmap(NULL) {
|
| DCHECK(wrap_mode == GL_CLAMP_TO_EDGE || wrap_mode == GL_REPEAT);
|
| @@ -1043,6 +1043,7 @@ const ResourceProvider::Resource* ResourceProvider::LockForRead(ResourceId id) {
|
| DCHECK_EQ(resource->exported_count, 0);
|
| // Uninitialized! Call SetPixels or LockForWrite first.
|
| DCHECK(resource->allocated);
|
| + DCHECK_NE(resource->lock_for_read_count, std::numeric_limits<uint16>::max());
|
|
|
| LazyCreate(resource);
|
|
|
| @@ -1348,6 +1349,8 @@ void ResourceProvider::PrepareSendToParent(const ResourceIdArray& resources,
|
| TransferResource(gl, *it, &resource);
|
| if (!resource.mailbox_holder.sync_point && !resource.is_software)
|
| need_sync_point = true;
|
| + DCHECK_NE(resources_.find(*it)->second.exported_count,
|
| + std::numeric_limits<uint16>::max());
|
| ++resources_.find(*it)->second.exported_count;
|
| list->push_back(resource);
|
| }
|
| @@ -1375,6 +1378,7 @@ void ResourceProvider::ReceiveFromChild(
|
| child_info.child_to_parent_map.find(it->id);
|
| if (resource_in_map_it != child_info.child_to_parent_map.end()) {
|
| Resource& resource = resources_[resource_in_map_it->second];
|
| + DCHECK_NE(resource.imported_count, std::numeric_limits<uint16>::max());
|
| resource.marked_for_deletion = false;
|
| resource.imported_count++;
|
| continue;
|
|
|