Remove SkImage::MakeTextureFromPixmap

Another step towards reducing the number of texture upload paths.

BUG=skia:

Change-Id: Ica185e7334f52dc9ebf87e21fe6f60589ef87bb3
Reviewed-on: https://skia-review.googlesource.com/7346
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp
index 66ee514..7247ae3 100644
--- a/src/image/SkImage_Gpu.cpp
+++ b/src/image/SkImage_Gpu.cpp
@@ -354,20 +354,6 @@
     return MakeRasterData(info, data, rowBytes);
 }
 
-sk_sp<SkImage> SkImage::MakeTextureFromPixmap(GrContext* ctx, const SkPixmap& pixmap,
-                                              SkBudgeted budgeted) {
-    if (!ctx) {
-        return nullptr;
-    }
-    sk_sp<GrTexture> texture(GrUploadPixmapToTexture(ctx, pixmap, budgeted));
-    if (!texture) {
-        return nullptr;
-    }
-    return sk_make_sp<SkImage_Gpu>(texture->width(), texture->height(), kNeedNewImageUniqueID,
-                                   pixmap.alphaType(), std::move(texture),
-                                   sk_ref_sp(pixmap.info().colorSpace()), budgeted);
-}
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 namespace {
@@ -663,21 +649,14 @@
     }
     SkImageInfo info = SkImageInfo::Make(dti->fWidth, dti->fHeight,
                                          dti->fColorType, dti->fAlphaType, colorSpace);
-    if (mipLevelCount == 1) {
-        SkPixmap pixmap;
-        pixmap.reset(info, dti->fMipMapLevelData[0].fPixelData, dti->fMipMapLevelData[0].fRowBytes);
-        return SkImage::MakeTextureFromPixmap(context, pixmap, budgeted);
-    } else {
-        std::unique_ptr<GrMipLevel[]> texels(new GrMipLevel[mipLevelCount]);
-        for (int i = 0; i < mipLevelCount; i++) {
-            texels[i].fPixels = dti->fMipMapLevelData[i].fPixelData;
-            texels[i].fRowBytes = dti->fMipMapLevelData[i].fRowBytes;
-        }
-
-        return SkImage::MakeTextureFromMipMap(context, info, texels.get(),
-                                              mipLevelCount, SkBudgeted::kYes,
-                                              dti->fColorMode);
+    SkAutoSTArray<16, GrMipLevel> texels(mipLevelCount);
+    for (int i = 0; i < mipLevelCount; i++) {
+        texels[i].fPixels = dti->fMipMapLevelData[i].fPixelData;
+        texels[i].fRowBytes = dti->fMipMapLevelData[i].fRowBytes;
     }
+
+    return SkImage::MakeTextureFromMipMap(context, info, texels.get(), mipLevelCount,
+                                          SkBudgeted::kYes, dti->fColorMode);
 }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////