Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/resources/resource_provider.h" | 5 #include "cc/resources/resource_provider.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 1083 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1094 target_(resource_provider->BindForSampling(resource_id, unit_, filter)) {} | 1094 target_(resource_provider->BindForSampling(resource_id, unit_, filter)) {} |
| 1095 | 1095 |
| 1096 ResourceProvider::ScopedSamplerGL::~ScopedSamplerGL() {} | 1096 ResourceProvider::ScopedSamplerGL::~ScopedSamplerGL() {} |
| 1097 | 1097 |
| 1098 ResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL( | 1098 ResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL( |
| 1099 ResourceProvider* resource_provider, | 1099 ResourceProvider* resource_provider, |
| 1100 ResourceId resource_id, | 1100 ResourceId resource_id, |
| 1101 bool create_mailbox) | 1101 bool create_mailbox) |
| 1102 : resource_provider_(resource_provider), | 1102 : resource_provider_(resource_provider), |
| 1103 resource_id_(resource_id), | 1103 resource_id_(resource_id), |
| 1104 set_sync_token_(false), | |
|
danakj
2016/10/06 20:50:35
nit: has_sync_token_
sunnyps
2016/10/06 21:31:53
Done.
| |
| 1104 synchronized_(false) { | 1105 synchronized_(false) { |
| 1105 DCHECK(thread_checker_.CalledOnValidThread()); | 1106 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1106 Resource* resource = resource_provider->LockForWrite(resource_id); | 1107 Resource* resource = resource_provider->LockForWrite(resource_id); |
| 1107 resource_provider_->LazyAllocate(resource); | 1108 resource_provider_->LazyAllocate(resource); |
| 1108 if (resource->image_id && resource->dirty_image) | 1109 if (resource->image_id && resource->dirty_image) |
| 1109 resource_provider_->BindImageForSampling(resource); | 1110 resource_provider_->BindImageForSampling(resource); |
| 1110 if (create_mailbox) { | 1111 if (create_mailbox) { |
| 1111 resource_provider_->CreateMailboxAndBindResource( | 1112 resource_provider_->CreateMailboxAndBindResource( |
| 1112 resource_provider_->ContextGL(), resource); | 1113 resource_provider_->ContextGL(), resource); |
| 1113 } | 1114 } |
| 1114 texture_id_ = resource->gl_id; | 1115 texture_id_ = resource->gl_id; |
| 1115 target_ = resource->target; | 1116 target_ = resource->target; |
| 1116 format_ = resource->format; | 1117 format_ = resource->format; |
| 1117 size_ = resource->size; | 1118 size_ = resource->size; |
| 1118 mailbox_ = resource->mailbox(); | 1119 mailbox_ = resource->mailbox(); |
| 1119 sk_color_space_ = resource_provider->GetResourceSkColorSpace(resource); | 1120 sk_color_space_ = resource_provider->GetResourceSkColorSpace(resource); |
| 1120 } | 1121 } |
| 1121 | 1122 |
| 1122 ResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL() { | 1123 ResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL() { |
| 1123 DCHECK(thread_checker_.CalledOnValidThread()); | 1124 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1124 Resource* resource = resource_provider_->GetResource(resource_id_); | 1125 Resource* resource = resource_provider_->GetResource(resource_id_); |
| 1125 DCHECK(resource->locked_for_write); | 1126 DCHECK(resource->locked_for_write); |
| 1126 if (sync_token_.HasData()) | 1127 if (set_sync_token_) |
|
danakj
2016/10/06 20:50:35
Can you leave a comment saying why you're not chec
sunnyps
2016/10/06 21:31:52
Done.
| |
| 1127 resource->UpdateSyncToken(sync_token_); | 1128 resource->UpdateSyncToken(sync_token_); |
| 1128 if (synchronized_) | 1129 if (synchronized_) |
| 1129 resource->SetSynchronized(); | 1130 resource->SetSynchronized(); |
| 1130 resource_provider_->UnlockForWrite(resource); | 1131 resource_provider_->UnlockForWrite(resource); |
| 1131 } | 1132 } |
| 1132 | 1133 |
| 1133 ResourceProvider::ScopedTextureProvider::ScopedTextureProvider( | 1134 ResourceProvider::ScopedTextureProvider::ScopedTextureProvider( |
| 1134 gpu::gles2::GLES2Interface* gl, | 1135 gpu::gles2::GLES2Interface* gl, |
| 1135 ScopedWriteLockGL* resource_lock, | 1136 ScopedWriteLockGL* resource_lock, |
| 1136 bool use_mailbox) | 1137 bool use_mailbox) |
| (...skipping 918 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2055 | 2056 |
| 2056 const int kImportance = 2; | 2057 const int kImportance = 2; |
| 2057 pmd->CreateSharedGlobalAllocatorDump(guid); | 2058 pmd->CreateSharedGlobalAllocatorDump(guid); |
| 2058 pmd->AddOwnershipEdge(dump->guid(), guid, kImportance); | 2059 pmd->AddOwnershipEdge(dump->guid(), guid, kImportance); |
| 2059 } | 2060 } |
| 2060 | 2061 |
| 2061 return true; | 2062 return true; |
| 2062 } | 2063 } |
| 2063 | 2064 |
| 2064 } // namespace cc | 2065 } // namespace cc |
| OLD | NEW |