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);
}
///////////////////////////////////////////////////////////////////////////////////////////////////