From e3060ba87c87bb2f96469389d0ace7b82f85749e Mon Sep 17 00:00:00 2001 From: Robert Phillips Date: Wed, 22 Mar 2017 18:13:37 +0000 Subject: Revert "Make SkImageCacherator be deferred" This reverts commit 801f8b824fee6397422e47537f0f13034ac54ce6. Reason for revert: Failures on Tegra3-based Android devices (so, npot issues) Original change's description: > Make SkImageCacherator be deferred > > Split out of: https://skia-review.googlesource.com/c/8823/ (Remove GrFragmentProcessor-derived class' GrTexture-based ctors) > > Change-Id: I16cf0aea9d887e5ebe053e9b5c94a970dc254beb > Reviewed-on: https://skia-review.googlesource.com/9945 > Reviewed-by: Brian Salomon > Commit-Queue: Robert Phillips > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ib143ef86cfad4a221e25145679ba7e48f6f7f3ba Reviewed-on: https://skia-review.googlesource.com/9949 Reviewed-by: Robert Phillips Commit-Queue: Robert Phillips --- gm/image_pict.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'gm/image_pict.cpp') diff --git a/gm/image_pict.cpp b/gm/image_pict.cpp index 792173ce66..883fd34725 100644 --- a/gm/image_pict.cpp +++ b/gm/image_pict.cpp @@ -344,11 +344,12 @@ protected: static void draw_as_tex(SkCanvas* canvas, SkImageCacherator* cache, SkScalar x, SkScalar y) { #if SK_SUPPORT_GPU sk_sp texColorSpace; - sk_sp proxy( - cache->lockAsTextureProxy(canvas->getGrContext(), GrSamplerParams::ClampBilerp(), - canvas->imageInfo().colorSpace(), &texColorSpace, - nullptr, nullptr)); - if (!proxy) { + // MDB TODO: this should be lockAsTextureRef + sk_sp texture( + cache->lockAsTexture(canvas->getGrContext(), GrSamplerParams::ClampBilerp(), + canvas->imageInfo().colorSpace(), &texColorSpace, + nullptr, nullptr)); + if (!texture) { // show placeholder if we have no texture SkPaint paint; paint.setStyle(SkPaint::kStroke_Style); @@ -360,6 +361,8 @@ protected: return; } + sk_sp proxy = GrSurfaceProxy::MakeWrapped(std::move(texture)); + // No API to draw a GrTexture directly, so we cheat and create a private image subclass sk_sp image(new SkImage_Gpu(canvas->getGrContext(), cache->uniqueID(), kPremul_SkAlphaType, -- cgit v1.2.3