| /* | |
| * Copyright 2017 Google Inc. | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #include "GrGLSemaphore.h" | |
| #include "GrGLGpu.h" | |
| GrGLSemaphore::GrGLSemaphore(GrGLGpu* gpu, bool isOwned) | |
| : INHERITED(gpu), fSync(0), fIsOwned(isOwned) { | |
| isOwned ? this->registerWithCache(SkBudgeted::kNo) | |
| : this->registerWithCacheWrapped(GrWrapCacheable::kNo); | |
| } | |
| void GrGLSemaphore::onRelease() { | |
| if (fSync && fIsOwned) { | |
| static_cast<const GrGLGpu*>(this->getGpu())->deleteSync(fSync); | |
| } | |
| fSync = 0; | |
| INHERITED::onRelease(); | |
| } | |
| void GrGLSemaphore::onAbandon() { | |
| fSync = 0; | |
| INHERITED::onAbandon(); | |
| } |