Lines Matching refs:resource
11 ResourcePool::Resource::Resource(cc::ResourceProvider* resource_provider,
14 : cc::Resource(resource_provider->CreateManagedResource(
24 ResourcePool::Resource::~Resource() {
44 scoped_ptr<ResourcePool::Resource> ResourcePool::AcquireResource(
48 Resource* resource = *it;
51 // doesn't happen two frames in a row for any resource
53 if (!resource_provider_->CanLockForWrite(resource->id()))
56 if (resource->size() != size)
58 if (resource->format() != format)
62 unused_memory_usage_bytes_ -= resource->bytes();
63 return make_scoped_ptr(resource);
66 // Create new resource.
67 Resource* resource = new Resource(resource_provider_, size, format);
69 // Extend all read locks on all resources until the resource is
72 resource_provider_->EnableReadLockFences(resource->id(), true);
74 memory_usage_bytes_ += resource->bytes();
76 return make_scoped_ptr(resource);
80 scoped_ptr<ResourcePool::Resource> resource) {
82 memory_usage_bytes_ -= resource->bytes();
87 unused_memory_usage_bytes_ += resource->bytes();
88 unused_resources_.push_back(resource.release());
109 Resource* resource = unused_resources_.back();
111 memory_usage_bytes_ -= resource->bytes();
112 unused_memory_usage_bytes_ -= resource->bytes();
114 delete resource;