| Index: src/gpu/effects/GrTextureStripAtlas.h
|
| diff --git a/src/gpu/effects/GrTextureStripAtlas.h b/src/gpu/effects/GrTextureStripAtlas.h
|
| index 80b33bbac4bd7504246d481bea440b1b512aab30..3b18706b693d8afebbcaf95a04cbf468c8981d71 100644
|
| --- a/src/gpu/effects/GrTextureStripAtlas.h
|
| +++ b/src/gpu/effects/GrTextureStripAtlas.h
|
| @@ -8,8 +8,8 @@
|
| #ifndef GrTextureStripAtlas_DEFINED
|
| #define GrTextureStripAtlas_DEFINED
|
|
|
| -#include "GrMurmur3HashKey.h"
|
| #include "SkBitmap.h"
|
| +#include "SkChecksum.h"
|
| #include "SkGr.h"
|
| #include "SkTDArray.h"
|
| #include "SkTDynamicHash.h"
|
| @@ -25,11 +25,14 @@ public:
|
| * Descriptor struct which we'll use as a hash table key
|
| **/
|
| struct Desc {
|
| - Desc() { memset(this, 0, sizeof(*this)); }
|
| - uint16_t fWidth, fHeight, fRowHeight;
|
| - GrPixelConfig fConfig;
|
| + Desc() { sk_bzero(this, sizeof(*this)); }
|
| GrContext* fContext;
|
| - const uint32_t* asKey() const { return reinterpret_cast<const uint32_t*>(this); }
|
| + GrPixelConfig fConfig;
|
| + uint16_t fWidth, fHeight, fRowHeight;
|
| + uint16_t fUnusedPadding;
|
| + bool operator==(const Desc& other) const {
|
| + return 0 == memcmp(this, &other, sizeof(Desc));
|
| + }
|
| };
|
|
|
| /**
|
| @@ -138,14 +141,13 @@ private:
|
| class AtlasEntry : public ::SkNoncopyable {
|
| public:
|
| // for SkTDynamicHash
|
| - class Key : public GrMurmur3HashKey<sizeof(GrTextureStripAtlas::Desc)> {};
|
| - static const Key& GetKey(const AtlasEntry& entry) { return entry.fKey; }
|
| - static uint32_t Hash(const Key& key) { return key.getHash(); }
|
| + static const Desc& GetKey(const AtlasEntry& entry) { return entry.fDesc; }
|
| + static uint32_t Hash(const Desc& desc) { return SkChecksum::Murmur3(&desc, sizeof(Desc)); }
|
|
|
| // AtlasEntry proper
|
| AtlasEntry() : fAtlas(NULL) {}
|
| ~AtlasEntry() { SkDELETE(fAtlas); }
|
| - Key fKey;
|
| + Desc fDesc;
|
| GrTextureStripAtlas* fAtlas;
|
| };
|
|
|
|
|