| Index: cc/resources/resource_provider.cc
|
| diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
|
| index 1be0b13564fc2774c44982e9f0bd6b967f5b2138..1fd797044fb0b4a3372e4ea078ec631a4c40fbc2 100644
|
| --- a/cc/resources/resource_provider.cc
|
| +++ b/cc/resources/resource_provider.cc
|
| @@ -419,7 +419,8 @@ ResourceProvider::ResourceProvider(
|
| id_allocation_chunk_size_(id_allocation_chunk_size),
|
| use_sync_query_(false),
|
| buffer_to_texture_target_map_(buffer_to_texture_target_map),
|
| - tracing_id_(g_next_resource_provider_tracing_id.GetNext()) {
|
| + tracing_id_(g_next_resource_provider_tracing_id.GetNext()),
|
| + weak_ptr_factory_(this) {
|
| DCHECK(id_allocation_chunk_size_);
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| @@ -944,6 +945,25 @@ void ResourceProvider::GenerateSyncTokenForResources(
|
| }
|
| }
|
|
|
| +gpu::SyncToken ResourceProvider::GetSyncTokenForResource(
|
| + ResourceId resource_id) {
|
| + Resource* resource = GetResource(resource_id);
|
| + return resource->mailbox().sync_token();
|
| +}
|
| +
|
| +gpu::SyncToken ResourceProvider::GetSyncTokenForResources(
|
| + const ResourceIdArray& resource_ids) {
|
| + gpu::SyncToken sync_token;
|
| + for (ResourceId id : resource_ids) {
|
| + Resource* resource = GetResource(id);
|
| + if (resource->mailbox().sync_token().release_count() >=
|
| + sync_token.release_count()) {
|
| + sync_token = resource->mailbox().sync_token();
|
| + }
|
| + }
|
| + return sync_token;
|
| +}
|
| +
|
| ResourceProvider::Resource* ResourceProvider::InsertResource(
|
| ResourceId id,
|
| Resource resource) {
|
|
|