Chromium Code Reviews| Index: src/gpu/GrCacheable.cpp |
| diff --git a/src/gpu/GrCacheable.cpp b/src/gpu/GrCacheable.cpp |
| index 120be78f0802c69bc26f32d10e038405e656709c..036d7e31dab2cf6a48aabc2613349590ea47c01f 100644 |
| --- a/src/gpu/GrCacheable.cpp |
| +++ b/src/gpu/GrCacheable.cpp |
| @@ -8,10 +8,11 @@ |
| #include "GrCacheable.h" |
| -uint32_t GrCacheable::getGenerationID() const { |
| - static int32_t gPathRefGenerationID; |
| - while (!fGenID) { |
| - fGenID = static_cast<uint32_t>(sk_atomic_inc(&gPathRefGenerationID) + 1); |
| - } |
| - return fGenID; |
| +uint32_t GrCacheable::CreateUniqueID() { |
| + static int32_t gCacheableID = SK_InvalidUniqueID; |
| + uint32_t id; |
| + do { |
| + id = static_cast<uint32_t>(sk_atomic_inc(&gCacheableID) + 1); |
|
robertphillips
2014/07/22 19:27:37
Is this test right?
bsalomon
2014/07/22 19:49:09
I'm losing it.
|
| + } while (id != SK_InvalidUniqueID); |
|
robertphillips
2014/07/22 19:27:37
SkASSERT(SK_InvalidUniqueID != id); ?
bsalomon
2014/07/22 19:49:09
With the corrected loop condition it seems unneces
|
| + return id; |
| } |