| /* |
| * Copyright 2014 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #include "GrProgramElement.h" |
| #include "GrGpuResourceRef.h" |
| #include "SkAtomics.h" |
| |
| uint32_t GrProgramElement::CreateUniqueID() { |
| static int32_t gUniqueID = SK_InvalidUniqueID; |
| uint32_t id; |
| do { |
| id = static_cast<uint32_t>(sk_atomic_inc(&gUniqueID) + 1); |
| } while (id == SK_InvalidUniqueID); |
| return id; |
| } |
| |
| void GrProgramElement::addPendingIOs() const { |
| for (int i = 0; i < fGpuResources.count(); ++i) { |
| fGpuResources[i]->markPendingIO(); |
| } |
| } |
| |
| void GrProgramElement::removeRefs() const { |
| for (int i = 0; i < fGpuResources.count(); ++i) { |
| fGpuResources[i]->removeRef(); |
| } |
| } |
| |
| void GrProgramElement::pendingIOComplete() const { |
| for (int i = 0; i < fGpuResources.count(); ++i) { |
| fGpuResources[i]->pendingIOComplete(); |
| } |
| } |