Home | History | Annotate | Download | only in gpu
      1 /*
      2  * Copyright 2014 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #include "GrProgramElement.h"
      9 #include "GrGpuResourceRef.h"
     10 
     11 uint32_t GrProgramElement::CreateUniqueID() {
     12     static int32_t gUniqueID = SK_InvalidUniqueID;
     13     uint32_t id;
     14     do {
     15         id = static_cast<uint32_t>(sk_atomic_inc(&gUniqueID) + 1);
     16     } while (id == SK_InvalidUniqueID);
     17     return id;
     18 }
     19 
     20 void GrProgramElement::addPendingIOs() const {
     21     for (int i = 0; i < fGpuResources.count(); ++i) {
     22         fGpuResources[i]->markPendingIO();
     23     }
     24 }
     25 
     26 void GrProgramElement::removeRefs() const {
     27     for (int i = 0; i < fGpuResources.count(); ++i) {
     28         fGpuResources[i]->removeRef();
     29     }
     30 }
     31 
     32 void GrProgramElement::pendingIOComplete() const {
     33     for (int i = 0; i < fGpuResources.count(); ++i) {
     34         fGpuResources[i]->pendingIOComplete();
     35     }
     36 }
     37 
     38