| Index: src/gpu/gl/debug/GrTextureObj.h
|
| diff --git a/src/gpu/gl/debug/GrTextureObj.h b/src/gpu/gl/debug/GrTextureObj.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bc649f3b38bff49af53e192a0642f111ab2dbd25
|
| --- /dev/null
|
| +++ b/src/gpu/gl/debug/GrTextureObj.h
|
| @@ -0,0 +1,56 @@
|
| +/*
|
| + * 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 GrTextureObj_DEFINED
|
| +#define GrTextureObj_DEFINED
|
| +
|
| +#include "GrFBBindableObj.h"
|
| +
|
| +class GrTextureUnitObj;
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +class GrTextureObj : public GrFBBindableObj {
|
| + GR_DEFINE_CREATOR(GrTextureObj);
|
| +
|
| +public:
|
| + GrTextureObj()
|
| + : GrFBBindableObj() {
|
| + }
|
| +
|
| + virtual ~GrTextureObj() {
|
| + GrAlwaysAssert(0 == fTextureUnitReferees.count());
|
| + }
|
| +
|
| + void setBound(GrTextureUnitObj *referee) {
|
| + fTextureUnitReferees.append(1, &referee);
|
| + }
|
| +
|
| + void resetBound(GrTextureUnitObj *referee) {
|
| + int index = fTextureUnitReferees.find(referee);
|
| + GrAlwaysAssert(0 <= index);
|
| + fTextureUnitReferees.removeShuffle(index);
|
| + }
|
| + bool getBound(GrTextureUnitObj *referee) const {
|
| + int index = fTextureUnitReferees.find(referee);
|
| + return 0 <= index;
|
| + }
|
| + bool getBound() const {
|
| + return 0 != fTextureUnitReferees.count();
|
| + }
|
| +
|
| + void deleteAction() override;
|
| +
|
| +protected:
|
| +
|
| +private:
|
| + // texture units that bind this texture (via "glBindTexture")
|
| + SkTDArray<GrTextureUnitObj *> fTextureUnitReferees;
|
| +
|
| + typedef GrFBBindableObj INHERITED;
|
| +};
|
| +
|
| +#endif // GrTextureObj_DEFINED
|
|
|