From ed182d7c9020a0a533ada3e601183f34e4da7504 Mon Sep 17 00:00:00 2001 From: Brian Osman Date: Mon, 20 Mar 2017 11:03:55 -0400 Subject: Remove SkImage::MakeTextureFromPixmap Slight variation on https://skia-review.googlesource.com/c/7346/, which had to be reverted. This version also changes the non-mip upload path to use a GrTextureProxy. Hopefully this doesn't trigger the same perf regression that we saw last time. BUG=skia: Change-Id: Ic99bdd93904089942fb680c3af9c4c36310074c0 Reviewed-on: https://skia-review.googlesource.com/9892 Reviewed-by: Brian Salomon Commit-Queue: Brian Osman --- src/image/SkImage.cpp | 4 ---- src/image/SkImage_Gpu.cpp | 22 +++++++--------------- 2 files changed, 7 insertions(+), 19 deletions(-) (limited to 'src/image') diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp index 99b0be161b..6217f4ecda 100644 --- a/src/image/SkImage.cpp +++ b/src/image/SkImage.cpp @@ -332,10 +332,6 @@ sk_sp SkImage_Base::makeColorSpace(sk_sp target) const { #if !SK_SUPPORT_GPU -sk_sp SkImage::MakeTextureFromPixmap(GrContext*, const SkPixmap&, SkBudgeted budgeted) { - return nullptr; -} - sk_sp MakeTextureFromMipMap(GrContext*, const SkImageInfo&, const GrMipLevel* texels, int mipLevelCount, SkBudgeted, SkDestinationSurfaceColorMode) { return nullptr; diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp index 3cc6e2d4a2..bcd7275279 100644 --- a/src/image/SkImage_Gpu.cpp +++ b/src/image/SkImage_Gpu.cpp @@ -497,20 +497,6 @@ sk_sp SkImage::makeNonTextureImage() const { return MakeRasterData(info, data, rowBytes); } -sk_sp SkImage::MakeTextureFromPixmap(GrContext* ctx, const SkPixmap& pixmap, - SkBudgeted budgeted) { - if (!ctx) { - return nullptr; - } - sk_sp texture(GrUploadPixmapToTexture(ctx, pixmap, budgeted)); - if (!texture) { - return nullptr; - } - return sk_make_sp(kNeedNewImageUniqueID, - pixmap.alphaType(), std::move(texture), - sk_ref_sp(pixmap.info().colorSpace()), budgeted); -} - /////////////////////////////////////////////////////////////////////////////////////////////////// namespace { @@ -809,7 +795,13 @@ sk_sp SkImage::MakeFromDeferredTextureImageData(GrContext* context, con if (mipLevelCount == 1) { SkPixmap pixmap; pixmap.reset(info, dti->fMipMapLevelData[0].fPixelData, dti->fMipMapLevelData[0].fRowBytes); - return SkImage::MakeTextureFromPixmap(context, pixmap, budgeted); + sk_sp proxy(GrUploadPixmapToTextureProxy(context->resourceProvider(), + pixmap, budgeted)); + if (!proxy) { + return nullptr; + } + return sk_make_sp(context, kNeedNewImageUniqueID, pixmap.alphaType(), + std::move(proxy), std::move(colorSpace), budgeted); } else { std::unique_ptr texels(new GrMipLevel[mipLevelCount]); for (int i = 0; i < mipLevelCount; i++) { -- cgit v1.2.3