Index: tools/gpu/gl/debug/GrFakeRefObj.h |
diff --git a/tools/gpu/gl/debug/GrFakeRefObj.h b/tools/gpu/gl/debug/GrFakeRefObj.h |
deleted file mode 100644 |
index 30580516fa5a0c2955296b31706d000c1bf1920f..0000000000000000000000000000000000000000 |
--- a/tools/gpu/gl/debug/GrFakeRefObj.h |
+++ /dev/null |
@@ -1,86 +0,0 @@ |
-/* |
- * Copyright 2012 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#ifndef GrFakeRefObj_DEFINED |
-#define GrFakeRefObj_DEFINED |
- |
-#include "SkTypes.h" |
-#include "gl/GrGLInterface.h" |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// This object is used to track the OpenGL objects. We don't use real |
-// reference counting (i.e., we don't free the objects when their ref count |
-// goes to 0) so that we can detect invalid memory accesses. The refs we |
-// are tracking in this class are actually OpenGL's references to the objects |
-// not "ours" |
-// Each object also gets a unique globally identifying ID |
-class GrFakeRefObj : SkNoncopyable { |
-public: |
- GrFakeRefObj() |
- : fRef(0) |
- , fMarkedForDeletion(false) |
- , fDeleted(false) { |
- |
- // source for globally unique IDs - 0 is reserved! |
- static int fNextID = 0; |
- |
- fID = ++fNextID; |
- } |
- virtual ~GrFakeRefObj() {}; |
- |
- void ref() { |
- fRef++; |
- } |
- void unref() { |
- fRef--; |
- GrAlwaysAssert(fRef >= 0); |
- |
- // often in OpenGL a given object may still be in use when the |
- // delete call is made. In these cases the object is marked |
- // for deletion and then freed when it is no longer in use |
- if (0 == fRef && fMarkedForDeletion) { |
- this->deleteAction(); |
- } |
- } |
- int getRefCount() const { return fRef; } |
- |
- GrGLuint getID() const { return fID; } |
- |
- void setMarkedForDeletion() { fMarkedForDeletion = true; } |
- bool getMarkedForDeletion() const { return fMarkedForDeletion; } |
- |
- bool getDeleted() const { return fDeleted; } |
- |
- // The deleteAction fires if the object has been marked for deletion but |
- // couldn't be deleted earlier due to refs |
- virtual void deleteAction() { |
- this->setDeleted(); |
- } |
- |
-protected: |
-private: |
- int fRef; // ref count |
- GrGLuint fID; // globally unique ID |
- bool fMarkedForDeletion; |
- // The deleted flag is only set when OpenGL thinks the object is deleted |
- // It is obviously still allocated w/in this framework |
- bool fDeleted; |
- |
- // setDeleted should only ever appear in the deleteAction method! |
- void setDeleted() { fDeleted = true; } |
-}; |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// Each class derived from GrFakeRefObj should use this macro to add a |
-// factory creation entry point. This entry point is used by the GrGLDebug |
-// object to instantiate the various objects |
-// all globally unique IDs |
-#define GR_DEFINE_CREATOR(className) \ |
-public: \ |
- static GrFakeRefObj *create##className() { return new className; } |
- |
-#endif // GrFakeRefObj_DEFINED |