| Index: include/gpu/GrBinHashKey.h
|
| diff --git a/src/gpu/GrBinHashKey.h b/include/gpu/GrBinHashKey.h
|
| similarity index 63%
|
| rename from src/gpu/GrBinHashKey.h
|
| rename to include/gpu/GrBinHashKey.h
|
| index 06ff93180855f806d1e3af22260ce65c969ed151..585a1a1c018850503b393e4e8cd9741ca3fb839a 100644
|
| --- a/src/gpu/GrBinHashKey.h
|
| +++ b/include/gpu/GrBinHashKey.h
|
| @@ -10,67 +10,9 @@
|
| #ifndef GrBinHashKey_DEFINED
|
| #define GrBinHashKey_DEFINED
|
|
|
| -#include "SkChecksum.h"
|
| #include "GrTypes.h"
|
|
|
| /**
|
| - * GrMurmur3HashKey is a hash key class that can take a data chunk of any predetermined
|
| - * length. It uses the Murmur3 hash function. It is intended to be used with
|
| - * SkTDynamicHash (where GrBinHashKey is for GrTHashTable).
|
| - */
|
| -template<size_t KEY_SIZE_IN_BYTES>
|
| -class GrMurmur3HashKey {
|
| -public:
|
| - GrMurmur3HashKey() {
|
| - this->reset();
|
| - }
|
| -
|
| - void reset() {
|
| - fHash = 0;
|
| -#ifdef SK_DEBUG
|
| - fIsValid = false;
|
| -#endif
|
| - }
|
| -
|
| - void setKeyData(const uint32_t* data) {
|
| - SK_COMPILE_ASSERT(KEY_SIZE_IN_BYTES % 4 == 0, key_size_mismatch);
|
| - memcpy(fData, data, KEY_SIZE_IN_BYTES);
|
| -
|
| - fHash = SkChecksum::Murmur3(fData, KEY_SIZE_IN_BYTES);
|
| -#ifdef SK_DEBUG
|
| - fIsValid = true;
|
| -#endif
|
| - }
|
| -
|
| - bool operator==(const GrMurmur3HashKey& other) const {
|
| - if (fHash != other.fHash) {
|
| - return false;
|
| - }
|
| -
|
| - return !memcmp(fData, other.fData, KEY_SIZE_IN_BYTES);
|
| - }
|
| -
|
| - uint32_t getHash() const {
|
| - SkASSERT(fIsValid);
|
| - return fHash;
|
| - }
|
| -
|
| - const uint8_t* getData() const {
|
| - SkASSERT(fIsValid);
|
| - return reinterpret_cast<const uint8_t*>(fData);
|
| - }
|
| -
|
| -private:
|
| - uint32_t fHash;
|
| - uint32_t fData[KEY_SIZE_IN_BYTES / sizeof(uint32_t)]; // Buffer for key storage.
|
| -
|
| -#ifdef SK_DEBUG
|
| -public:
|
| - bool fIsValid;
|
| -#endif
|
| -};
|
| -
|
| -/**
|
| * GrBinHashKey is a hash key class that can take a data chunk of any predetermined
|
| * length. The hash function used is the One-at-a-Time Hash
|
| * (http://burtleburtle.net/bob/hash/doobs.html).
|
|
|