Reland "Simplify two more clients of proxy provider (mipped vs. non-mipped)"
Adds fix for mip-mapped requests on devices with no mip support.
This reverts commit ab4c138c0ef38ba1451698defb9b2b9518b96525.
Bug: skia:
Change-Id: I85350ae32081253448cbd2f636ea3044eb9df453
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203057
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/GrProxyProvider.cpp b/src/gpu/GrProxyProvider.cpp
index 611d4bc..efa7bf0 100644
--- a/src/gpu/GrProxyProvider.cpp
+++ b/src/gpu/GrProxyProvider.cpp
@@ -297,6 +297,7 @@
sk_sp<GrTextureProxy> GrProxyProvider::createProxyFromBitmap(const SkBitmap& bitmap,
GrMipMapped mipMapped) {
ASSERT_SINGLE_OWNER
+ SkASSERT(GrMipMapped::kNo == mipMapped || this->caps()->mipMapSupport());
if (this->isAbandoned()) {
return nullptr;
@@ -323,8 +324,8 @@
// If mips weren't requested (or this was too small to have any), then take the fast path
if (GrMipMapped::kNo == mipMapped ||
0 == SkMipMap::ComputeLevelCount(baseLevel->width(), baseLevel->height())) {
- return this->createTextureProxy(baseLevel, kNone_GrSurfaceFlags, 1, SkBudgeted::kYes,
- SkBackingFit::kExact);
+ return this->createTextureProxy(std::move(baseLevel), kNone_GrSurfaceFlags, 1,
+ SkBudgeted::kYes, SkBackingFit::kExact);
}
const GrBackendFormat format =