ae59b77612
Review URL: https://codereview.chromium.org/739673002
38 lines
914 B
C++
38 lines
914 B
C++
/*
|
|
* 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"
|
|
|
|
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();
|
|
}
|
|
}
|
|
|