Skia Merge (revision 808)

This is a companion CL to the one found in /external/skia

Change-Id: If81748545435cab20a5d8479329ab333cb973e16
diff --git a/libs/hwui/DisplayListRenderer.h b/libs/hwui/DisplayListRenderer.h
index f39f37f..e8f189d 100644
--- a/libs/hwui/DisplayListRenderer.h
+++ b/libs/hwui/DisplayListRenderer.h
@@ -22,7 +22,6 @@
 #include <SkMatrix.h>
 #include <SkPaint.h>
 #include <SkPath.h>
-#include <SkPictureFlat.h>
 #include <SkRefCnt.h>
 #include <SkTDArray.h>
 #include <SkTSearch.h>
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 4a08f53..a0aea00 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -1982,6 +1982,9 @@
 }
 
 SkXfermode::Mode OpenGLRenderer::getXfermode(SkXfermode* mode) {
+    /* In the future we should look at unifying the Porter-Duff modes and
+     * SkXferModes so that we can use SkXfermode::IsMode(xfer, &mode).
+     */
     if (mode == NULL) {
         return SkXfermode::kSrcOver_Mode;
     }
diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp
index 87fdfb5..9aade51 100644
--- a/libs/hwui/ResourceCache.cpp
+++ b/libs/hwui/ResourceCache.cpp
@@ -60,8 +60,8 @@
 }
 
 void ResourceCache::incrementRefcount(SkBitmap* bitmapResource) {
-    bitmapResource->pixelRef()->safeRef();
-    bitmapResource->getColorTable()->safeRef();
+    SkSafeRef(bitmapResource->pixelRef());
+    SkSafeRef(bitmapResource->getColorTable());
     incrementRefcount((void*)bitmapResource, kBitmap);
 }
 
@@ -70,12 +70,12 @@
 }
 
 void ResourceCache::incrementRefcount(SkiaShader* shaderResource) {
-    shaderResource->getSkShader()->safeRef();
+    SkSafeRef(shaderResource->getSkShader());
     incrementRefcount((void*) shaderResource, kShader);
 }
 
 void ResourceCache::incrementRefcount(SkiaColorFilter* filterResource) {
-    filterResource->getSkColorFilter()->safeRef();
+    SkSafeRef(filterResource->getSkColorFilter());
     incrementRefcount((void*) filterResource, kColorFilter);
 }
 
@@ -93,8 +93,8 @@
 }
 
 void ResourceCache::decrementRefcount(SkBitmap* bitmapResource) {
-    bitmapResource->pixelRef()->safeUnref();
-    bitmapResource->getColorTable()->safeUnref();
+    SkSafeUnref(bitmapResource->pixelRef());
+    SkSafeUnref(bitmapResource->getColorTable());
     decrementRefcount((void*) bitmapResource);
 }
 
@@ -103,12 +103,12 @@
 }
 
 void ResourceCache::decrementRefcount(SkiaShader* shaderResource) {
-    shaderResource->getSkShader()->safeUnref();
+    SkSafeUnref(shaderResource->getSkShader());
     decrementRefcount((void*) shaderResource);
 }
 
 void ResourceCache::decrementRefcount(SkiaColorFilter* filterResource) {
-    filterResource->getSkColorFilter()->safeUnref();
+    SkSafeUnref(filterResource->getSkColorFilter());
     decrementRefcount((void*) filterResource);
 }
 
diff --git a/libs/hwui/ShapeCache.h b/libs/hwui/ShapeCache.h
index e535466..4c626dd 100644
--- a/libs/hwui/ShapeCache.h
+++ b/libs/hwui/ShapeCache.h
@@ -571,7 +571,7 @@
     pathPaint.setMaskFilter(NULL);
     pathPaint.setShader(NULL);
     SkXfermode* mode = SkXfermode::Create(SkXfermode::kSrc_Mode);
-    pathPaint.setXfermode(mode)->safeUnref();
+    SkSafeUnref(pathPaint.setXfermode(mode));
 
     SkCanvas canvas(bitmap);
     canvas.translate(-bounds.fLeft + offset, -bounds.fTop + offset);