| Index: src/gpu/SkGpuDevice.cpp
|
| diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
|
| index 116d3c6e4ceadc78e00d671566befb4627a6e49c..b81a94a194155d99c22a08b4f7bc56ef92d8ba50 100644
|
| --- a/src/gpu/SkGpuDevice.cpp
|
| +++ b/src/gpu/SkGpuDevice.cpp
|
| @@ -124,14 +124,15 @@ sk_sp<SkBaseDevice> SkGpuDevice::Make(sk_sp<GrDrawContext> drawContext,
|
|
|
| sk_sp<SkGpuDevice> SkGpuDevice::Make(GrContext* context, SkBudgeted budgeted,
|
| const SkImageInfo& info, int sampleCount,
|
| + GrSurfaceOrigin origin,
|
| const SkSurfaceProps* props, InitContents init) {
|
| unsigned flags;
|
| if (!CheckAlphaTypeAndGetFlags(&info, init, &flags)) {
|
| return nullptr;
|
| }
|
|
|
| - sk_sp<GrDrawContext> drawContext(CreateDrawContext(context, budgeted, info,
|
| - sampleCount, props));
|
| + sk_sp<GrDrawContext> drawContext(MakeDrawContext(context, budgeted, info,
|
| + sampleCount, origin, props));
|
| if (!drawContext) {
|
| return nullptr;
|
| }
|
| @@ -153,11 +154,12 @@ SkGpuDevice::SkGpuDevice(sk_sp<GrDrawContext> drawContext, int width, int height
|
| }
|
| }
|
|
|
| -sk_sp<GrDrawContext> SkGpuDevice::CreateDrawContext(GrContext* context,
|
| - SkBudgeted budgeted,
|
| - const SkImageInfo& origInfo,
|
| - int sampleCount,
|
| - const SkSurfaceProps* surfaceProps) {
|
| +sk_sp<GrDrawContext> SkGpuDevice::MakeDrawContext(GrContext* context,
|
| + SkBudgeted budgeted,
|
| + const SkImageInfo& origInfo,
|
| + int sampleCount,
|
| + GrSurfaceOrigin origin,
|
| + const SkSurfaceProps* surfaceProps) {
|
| if (kUnknown_SkColorType == origInfo.colorType() ||
|
| origInfo.width() < 0 || origInfo.height() < 0) {
|
| return nullptr;
|
| @@ -188,7 +190,7 @@ sk_sp<GrDrawContext> SkGpuDevice::CreateDrawContext(GrContext* context,
|
| return context->newDrawContext(SkBackingFit::kExact, // Why exact?
|
| origInfo.width(), origInfo.height(),
|
| config, sk_ref_sp(cs), sampleCount,
|
| - kDefault_GrSurfaceOrigin, surfaceProps, budgeted);
|
| + origin, surfaceProps, budgeted);
|
| }
|
|
|
| sk_sp<SkSpecialImage> SkGpuDevice::filterTexture(const SkDraw& draw,
|
| @@ -276,11 +278,12 @@ void SkGpuDevice::replaceDrawContext(bool shouldRetainContent) {
|
|
|
| SkBudgeted budgeted = fRenderTarget->resourcePriv().isBudgeted();
|
|
|
| - sk_sp<GrDrawContext> newDC(CreateDrawContext(this->context(),
|
| - budgeted,
|
| - this->imageInfo(),
|
| - fDrawContext->numColorSamples(),
|
| - &this->surfaceProps()));
|
| + sk_sp<GrDrawContext> newDC(MakeDrawContext(this->context(),
|
| + budgeted,
|
| + this->imageInfo(),
|
| + fDrawContext->numColorSamples(),
|
| + fDrawContext->origin(),
|
| + &this->surfaceProps()));
|
| if (!newDC) {
|
| return;
|
| }
|
| @@ -1769,7 +1772,7 @@ sk_sp<SkSurface> SkGpuDevice::makeSurface(const SkImageInfo& info, const SkSurfa
|
| // TODO: Change the signature of newSurface to take a budgeted parameter.
|
| static const SkBudgeted kBudgeted = SkBudgeted::kNo;
|
| return SkSurface::MakeRenderTarget(fContext, kBudgeted, info, fDrawContext->desc().fSampleCnt,
|
| - &props);
|
| + fDrawContext->origin(), &props);
|
| }
|
|
|
| SkImageFilterCache* SkGpuDevice::getImageFilterCache() {
|
|
|