diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/image/SkImage.cpp | 4 | ||||
-rw-r--r-- | src/image/SkImage_Gpu.cpp | 22 |
2 files changed, 7 insertions, 19 deletions
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> SkImage_Base::makeColorSpace(sk_sp<SkColorSpace> target) const { #if !SK_SUPPORT_GPU -sk_sp<SkImage> SkImage::MakeTextureFromPixmap(GrContext*, const SkPixmap&, SkBudgeted budgeted) { - return nullptr; -} - sk_sp<SkImage> 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> SkImage::makeNonTextureImage() const { 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>(kNeedNewImageUniqueID, - pixmap.alphaType(), std::move(texture), - sk_ref_sp(pixmap.info().colorSpace()), budgeted); -} - /////////////////////////////////////////////////////////////////////////////////////////////////// namespace { @@ -809,7 +795,13 @@ sk_sp<SkImage> 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<GrTextureProxy> proxy(GrUploadPixmapToTextureProxy(context->resourceProvider(), + pixmap, budgeted)); + if (!proxy) { + return nullptr; + } + return sk_make_sp<SkImage_Gpu>(context, kNeedNewImageUniqueID, pixmap.alphaType(), + std::move(proxy), std::move(colorSpace), budgeted); } else { std::unique_ptr<GrMipLevel[]> texels(new GrMipLevel[mipLevelCount]); for (int i = 0; i < mipLevelCount; i++) { |