Index: include/gpu/GrResourceKey.h |
diff --git a/include/gpu/GrResourceKey.h b/include/gpu/GrResourceKey.h |
index a353dc21143766f0a1cb7a2a598e9c55dc2c375b..0a97c20b4d5420bc9d819d3d27142bccf1c743b1 100644 |
--- a/include/gpu/GrResourceKey.h |
+++ b/include/gpu/GrResourceKey.h |
@@ -10,6 +10,7 @@ |
#define GrResourceKey_DEFINED |
#include "GrTypes.h" |
+#include "SkData.h" |
#include "SkOnce.h" |
#include "SkTemplates.h" |
@@ -237,6 +238,7 @@ public: |
GrUniqueKey& operator=(const GrUniqueKey& that) { |
this->INHERITED::operator=(that); |
+ this->setCustomData(that.getCustomData()); |
return *this; |
} |
@@ -245,6 +247,14 @@ public: |
} |
bool operator!=(const GrUniqueKey& that) const { return !(*this == that); } |
+ void setCustomData(const SkData* data) { |
+ SkSafeRef(data); |
+ fData.reset(data); |
+ } |
+ const SkData* getCustomData() const { |
+ return fData.get(); |
+ } |
+ |
class Builder : public INHERITED::Builder { |
public: |
Builder(GrUniqueKey* key, Domain domain, int data32Count) |
@@ -268,6 +278,9 @@ public: |
return SkToInt((innerKey.dataSize() >> 2) + 1); |
} |
}; |
+ |
+private: |
+ SkAutoTUnref<const SkData> fData; |
}; |
/** |