| Index: src/gpu/GrTextureParamsAdjuster.cpp | 
| diff --git a/src/gpu/GrTextureParamsAdjuster.cpp b/src/gpu/GrTextureParamsAdjuster.cpp | 
| deleted file mode 100644 | 
| index eb51e8e081289aa67c8d6412c13496caf9ddea87..0000000000000000000000000000000000000000 | 
| --- a/src/gpu/GrTextureParamsAdjuster.cpp | 
| +++ /dev/null | 
| @@ -1,152 +0,0 @@ | 
| -/* | 
| - * Copyright 2015 Google Inc. | 
| - * | 
| - * Use of this source code is governed by a BSD-style license that can be | 
| - * found in the LICENSE file. | 
| - */ | 
| - | 
| -#include "GrTextureParamsAdjuster.h" | 
| - | 
| -#include "GrCaps.h" | 
| -#include "GrContext.h" | 
| -#include "GrDrawContext.h" | 
| -#include "GrGpu.h" | 
| -#include "GrTexture.h" | 
| -#include "GrTextureParams.h" | 
| -#include "GrTextureProvider.h" | 
| -#include "SkCanvas.h" | 
| -#include "SkGr.h" | 
| -#include "SkGrPriv.h" | 
| - | 
| -typedef GrTextureParamsAdjuster::CopyParams CopyParams; | 
| - | 
| -static GrTexture* copy_on_gpu(GrTexture* inputTexture, const CopyParams& copyParams) { | 
| -    GrContext* context = inputTexture->getContext(); | 
| -    SkASSERT(context); | 
| -    const GrCaps* caps = context->caps(); | 
| - | 
| -    // Either it's a cache miss or the original wasn't cached to begin with. | 
| -    GrSurfaceDesc rtDesc = inputTexture->desc(); | 
| -    rtDesc.fFlags =  rtDesc.fFlags | kRenderTarget_GrSurfaceFlag; | 
| -    rtDesc.fWidth  = copyParams.fWidth; | 
| -    rtDesc.fHeight = copyParams.fHeight; | 
| -    rtDesc.fConfig = GrMakePixelConfigUncompressed(rtDesc.fConfig); | 
| - | 
| -    // If the config isn't renderable try converting to either A8 or an 32 bit config. Otherwise, | 
| -    // fail. | 
| -    if (!caps->isConfigRenderable(rtDesc.fConfig, false)) { | 
| -        if (GrPixelConfigIsAlphaOnly(rtDesc.fConfig)) { | 
| -            if (caps->isConfigRenderable(kAlpha_8_GrPixelConfig, false)) { | 
| -                rtDesc.fConfig = kAlpha_8_GrPixelConfig; | 
| -            } else if (caps->isConfigRenderable(kSkia8888_GrPixelConfig, false)) { | 
| -                rtDesc.fConfig = kSkia8888_GrPixelConfig; | 
| -            } else { | 
| -                return nullptr; | 
| -            } | 
| -        } else if (kRGB_GrColorComponentFlags == | 
| -                   (kRGB_GrColorComponentFlags & GrPixelConfigComponentMask(rtDesc.fConfig))) { | 
| -            if (caps->isConfigRenderable(kSkia8888_GrPixelConfig, false)) { | 
| -                rtDesc.fConfig = kSkia8888_GrPixelConfig; | 
| -            } else { | 
| -                return nullptr; | 
| -            } | 
| -        } else { | 
| -            return nullptr; | 
| -        } | 
| -    } | 
| - | 
| -    SkAutoTUnref<GrTexture> copy(context->textureProvider()->createTexture(rtDesc, true)); | 
| -    if (!copy) { | 
| -        return nullptr; | 
| -    } | 
| - | 
| -    GrPaint paint; | 
| - | 
| -    // If filtering is not desired then we want to ensure all texels in the resampled image are | 
| -    // copies of texels from the original. | 
| -    GrTextureParams params(SkShader::kClamp_TileMode, copyParams.fFilter); | 
| -    paint.addColorTextureProcessor(inputTexture, SkMatrix::I(), params); | 
| - | 
| -    SkRect rect = SkRect::MakeWH(SkIntToScalar(rtDesc.fWidth), SkIntToScalar(rtDesc.fHeight)); | 
| -    SkRect localRect = SkRect::MakeWH(1.f, 1.f); | 
| - | 
| -    SkAutoTUnref<GrDrawContext> drawContext(context->drawContext(copy->asRenderTarget())); | 
| -    if (!drawContext) { | 
| -        return nullptr; | 
| -    } | 
| - | 
| -    drawContext->drawNonAARectToRect(GrClip::WideOpen(), paint, SkMatrix::I(), rect, localRect); | 
| -    return copy.detach(); | 
| -} | 
| - | 
| -static SkBitmap copy_on_cpu(const SkBitmap& bmp, const CopyParams& copyParams) { | 
| -    SkBitmap stretched; | 
| -    stretched.allocN32Pixels(copyParams.fWidth, copyParams.fHeight); | 
| -    SkCanvas canvas(stretched); | 
| -    SkPaint paint; | 
| -    switch (copyParams.fFilter) { | 
| -        case GrTextureParams::kNone_FilterMode: | 
| -            paint.setFilterQuality(kNone_SkFilterQuality); | 
| -            break; | 
| -        case GrTextureParams::kBilerp_FilterMode: | 
| -            paint.setFilterQuality(kLow_SkFilterQuality); | 
| -            break; | 
| -        case GrTextureParams::kMipMap_FilterMode: | 
| -            paint.setFilterQuality(kMedium_SkFilterQuality); | 
| -            break; | 
| -    } | 
| -    SkRect dstRect = SkRect::MakeWH(SkIntToScalar(copyParams.fWidth), | 
| -                                    SkIntToScalar(copyParams.fHeight)); | 
| -    canvas.drawBitmapRect(bmp, dstRect, &paint); | 
| -    return stretched; | 
| -} | 
| - | 
| -GrTexture* GrTextureParamsAdjuster::refTextureForParams(GrContext* ctx, | 
| -                                                        const GrTextureParams& params) { | 
| -    CopyParams copyParams; | 
| -    if (!ctx->getGpu()->makeCopyForTextureParams(this->width(), this->height(), params, | 
| -                                                 ©Params)) { | 
| -        return this->refOriginalTexture(ctx); | 
| -    } | 
| -    GrUniqueKey copyKey; | 
| -    this->makeCopyKey(copyParams, ©Key); | 
| -    if (copyKey.isValid()) { | 
| -        GrTexture* result = ctx->textureProvider()->findAndRefTextureByUniqueKey(copyKey); | 
| -        if (result) { | 
| -            return result; | 
| -        } | 
| -    } | 
| - | 
| -    GrTexture* result = this->generateTextureForParams(ctx, copyParams); | 
| -    if (!result) { | 
| -        return nullptr; | 
| -    } | 
| - | 
| -    if (copyKey.isValid()) { | 
| -        ctx->textureProvider()->assignUniqueKeyToTexture(copyKey, result); | 
| -        this->didCacheCopy(copyKey); | 
| -    } | 
| -    return result; | 
| -} | 
| - | 
| -GrTexture* GrTextureParamsAdjuster::generateTextureForParams(GrContext* ctx, | 
| -                                                             const CopyParams& copyParams) { | 
| -    if (this->width() < ctx->caps()->minTextureSize() || | 
| -        this->height() < ctx->caps()->minTextureSize()) | 
| -    { | 
| -        // we can't trust our ability to use HW to perform the stretch, so we request | 
| -        // a raster instead, and perform the stretch on the CPU. | 
| -        SkBitmap bitmap; | 
| -        if (!this->getROBitmap(&bitmap)) { | 
| -            return nullptr; | 
| -        } | 
| -        SkBitmap stretchedBmp = copy_on_cpu(bitmap, copyParams); | 
| -        return GrUploadBitmapToTexture(ctx, stretchedBmp); | 
| -    } else { | 
| -        SkAutoTUnref<GrTexture> original(this->refOriginalTexture(ctx)); | 
| -        if (!original) { | 
| -            return nullptr; | 
| -        } | 
| -        return copy_on_gpu(original, copyParams); | 
| -    } | 
| -} | 
|  |