Index: src/gpu/GrProgramResource.cpp |
diff --git a/src/gpu/GrProgramResource.cpp b/src/gpu/GrProgramResource.cpp |
deleted file mode 100644 |
index 482caff7ee0b3257c04f827029abb2bcf40414a3..0000000000000000000000000000000000000000 |
--- a/src/gpu/GrProgramResource.cpp |
+++ /dev/null |
@@ -1,133 +0,0 @@ |
-/* |
- * 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 "GrProgramResource.h" |
-#include "GrGpuResource.h" |
- |
-GrProgramResource::GrProgramResource() { |
- fResource = NULL; |
- fOwnRef = false; |
- fPendingIO = false; |
- fIOType = kNone_IOType; |
-} |
- |
-GrProgramResource::GrProgramResource(GrGpuResource* resource, IOType ioType) { |
- fResource = NULL; |
- fOwnRef = false; |
- fPendingIO = false; |
- this->setResource(resource, ioType); |
-} |
- |
-GrProgramResource::~GrProgramResource() { |
- if (fOwnRef) { |
- SkASSERT(fResource); |
- fResource->unref(); |
- } |
- if (fPendingIO) { |
- switch (fIOType) { |
- case kNone_IOType: |
- SkFAIL("Shouldn't get here if fIOType is kNone."); |
- break; |
- case kRead_IOType: |
- fResource->completedRead(); |
- break; |
- case kWrite_IOType: |
- fResource->completedWrite(); |
- break; |
- case kRW_IOType: |
- fResource->completedRead(); |
- fResource->completedWrite(); |
- break; |
- } |
- } |
-} |
- |
-void GrProgramResource::reset() { |
- SkASSERT(!fPendingIO); |
- SkASSERT(SkToBool(fResource) == fOwnRef); |
- if (fOwnRef) { |
- fResource->unref(); |
- fOwnRef = false; |
- fResource = NULL; |
- fIOType = kNone_IOType; |
- } |
-} |
- |
-void GrProgramResource::setResource(GrGpuResource* resource, IOType ioType) { |
- SkASSERT(!fPendingIO); |
- SkASSERT(SkToBool(fResource) == fOwnRef); |
- SkSafeUnref(fResource); |
- if (NULL == resource) { |
- fResource = NULL; |
- fOwnRef = false; |
- fIOType = kNone_IOType; |
- } else { |
- SkASSERT(kNone_IOType != ioType); |
- fResource = resource; |
- fOwnRef = true; |
- fIOType = ioType; |
- } |
-} |
- |
-void GrProgramResource::markPendingIO() const { |
- // This should only be called when the owning GrProgramElement gets its first |
- // pendingExecution ref. |
- SkASSERT(!fPendingIO); |
- SkASSERT(fResource); |
- fPendingIO = true; |
- switch (fIOType) { |
- case kNone_IOType: |
- SkFAIL("GrProgramResource with neither reads nor writes?"); |
- break; |
- case kRead_IOType: |
- fResource->addPendingRead(); |
- break; |
- case kWrite_IOType: |
- fResource->addPendingWrite(); |
- break; |
- case kRW_IOType: |
- fResource->addPendingRead(); |
- fResource->addPendingWrite(); |
- break; |
- |
- } |
-} |
- |
-void GrProgramResource::pendingIOComplete() const { |
- // This should only be called when the owner's pending executions have ocurred but it is still |
- // reffed. |
- SkASSERT(fOwnRef); |
- SkASSERT(fPendingIO); |
- switch (fIOType) { |
- case kNone_IOType: |
- SkFAIL("GrProgramResource with neither reads nor writes?"); |
- break; |
- case kRead_IOType: |
- fResource->completedRead(); |
- break; |
- case kWrite_IOType: |
- fResource->completedWrite(); |
- break; |
- case kRW_IOType: |
- fResource->completedRead(); |
- fResource->completedWrite(); |
- break; |
- |
- } |
- fPendingIO = false; |
-} |
- |
-void GrProgramResource::removeRef() const { |
- // This should only be called once, when the owners last ref goes away and |
- // there is a pending execution. |
- SkASSERT(fOwnRef); |
- SkASSERT(fPendingIO); |
- SkASSERT(kNone_IOType != fIOType); |
- SkASSERT(fResource); |
- fResource->unref(); |
- fOwnRef = false; |
-} |