summaryrefslogtreecommitdiff
path: root/libs/hwui/GradientCache.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2016-02-05 13:03:47 -0800
committerJohn Reck <jreck@google.com>2016-02-05 13:03:47 -0800
commit83c9b5bf638d75a3395f57c2c57c31c959632f9d (patch)
tree3b19360e8e7825b2f76ece091a8eb3383c8c6424 /libs/hwui/GradientCache.cpp
parentad086d740d5ec95832d8191a867507bef06e8ed8 (diff)
Add a debug assert to track down infinite loop
Bug: 26980851 Change-Id: I326983ab367782048311b6cf06d800f72837e38e
Diffstat (limited to 'libs/hwui/GradientCache.cpp')
-rw-r--r--libs/hwui/GradientCache.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/hwui/GradientCache.cpp b/libs/hwui/GradientCache.cpp
index e899ac71ff36..eec9ed16939e 100644
--- a/libs/hwui/GradientCache.cpp
+++ b/libs/hwui/GradientCache.cpp
@@ -168,10 +168,13 @@ Texture* GradientCache::addLinearGradient(GradientCacheEntry& gradient,
texture->blend = info.hasAlpha;
texture->generation = 1;
- // Asume the cache is always big enough
+ // Assume the cache is always big enough
const uint32_t size = info.width * 2 * bytesPerPixel();
while (getSize() + size > mMaxSize) {
- mCache.removeOldest();
+ LOG_ALWAYS_FATAL_IF(!mCache.removeOldest(),
+ "Ran out of things to remove from the cache? getSize() = %" PRIu32
+ ", size = %" PRIu32 ", mMaxSize = %" PRIu32 ", width = %" PRIu32,
+ getSize(), size, mMaxSize, info.width);
}
generateTexture(colors, positions, info.width, 2, texture);