Index: cc/resources/resource_provider.cc |
diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc |
index 49dae1d6ae988284713422c430f0f1e8a2f814e8..107b1f37acaf4f54eb8394a9ee87fc8ee0718c0f 100644 |
--- a/cc/resources/resource_provider.cc |
+++ b/cc/resources/resource_provider.cc |
@@ -1101,6 +1101,7 @@ ResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL( |
bool create_mailbox) |
: resource_provider_(resource_provider), |
resource_id_(resource_id), |
+ set_sync_token_(false), |
synchronized_(false) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
Resource* resource = resource_provider->LockForWrite(resource_id); |
@@ -1123,8 +1124,10 @@ ResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL() { |
DCHECK(thread_checker_.CalledOnValidThread()); |
Resource* resource = resource_provider_->GetResource(resource_id_); |
DCHECK(resource->locked_for_write); |
- if (sync_token_.HasData()) |
+ if (set_sync_token_) { |
danakj
2016/10/05 01:44:05
Explain this in a comment please. (Basically what
sunnyps
2016/10/06 02:45:06
I removed the DCHECK here because the compositor c
|
+ DCHECK(sync_token_.HasData() || resource_provider_->IsGLContextLost()); |
resource->UpdateSyncToken(sync_token_); |
+ } |
if (synchronized_) |
resource->SetSynchronized(); |
resource_provider_->UnlockForWrite(resource); |