Path precaching creates duplicate cache entries
Bug #8478275
Change-Id: Ib541ea051e42e01cc0d277790e9c09de38ef72ee
diff --git a/libs/hwui/PathCache.h b/libs/hwui/PathCache.h
index 1467231..dd1f996 100644
--- a/libs/hwui/PathCache.h
+++ b/libs/hwui/PathCache.h
@@ -253,7 +253,13 @@
PathTexture* addTexture(const PathDescription& entry,
const SkPath *path, const SkPaint* paint);
PathTexture* addTexture(const PathDescription& entry, SkBitmap* bitmap);
- void addTexture(const PathDescription& entry, SkBitmap* bitmap, PathTexture* texture);
+
+ /**
+ * Generates the texture from a bitmap into the specified texture structure.
+ */
+ void generateTexture(SkBitmap& bitmap, Texture* texture);
+ void generateTexture(const PathDescription& entry, SkBitmap* bitmap, PathTexture* texture,
+ bool addToCache = true);
PathTexture* get(const PathDescription& entry) {
return mCache.get(entry);
@@ -282,11 +288,6 @@
return true;
}
- /**
- * Generates the texture from a bitmap into the specified texture structure.
- */
- void generateTexture(SkBitmap& bitmap, Texture* texture);
-
void init();
class PathTask: public Task<SkBitmap*> {