diff options
author | Mike Klein <mtklein@google.com> | 2017-04-17 18:04:41 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-04-17 18:04:46 +0000 |
commit | e186cfd15f2df43415ae024185bdcf5baa955ec9 (patch) | |
tree | a595d33b0925711ac5189ecaceb9eb7e015d5e54 | |
parent | 215989330c1895a8bd4c00ba767dae6cc79b17ba (diff) |
Revert "Split cleanup changes out of bigger CL"
This reverts commit cd11c809f206af0da3ce1779dee3c91193baa7b0.
Reason for revert: assert(rtp->getLastOpList())
Original change's description:
> Split cleanup changes out of bigger CL
>
> This are split out of: https://skia-review.googlesource.com/c/11581/ (Split up opLists)
>
> TBR=bsalomon@google.com
>
> Change-Id: I1239e806a30a93d3c17ad933f118b98a5077dd3a
> Reviewed-on: https://skia-review.googlesource.com/13585
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ia3ef7322fe830a6a4dc29226ce931d35d181c6e0
Reviewed-on: https://skia-review.googlesource.com/13641
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
-rw-r--r-- | include/gpu/GrProcessor.h | 8 | ||||
-rw-r--r-- | include/private/GrSurfaceProxy.h | 2 | ||||
-rw-r--r-- | src/gpu/GrDrawingManager.cpp | 27 | ||||
-rw-r--r-- | src/gpu/GrDrawingManager.h | 2 | ||||
-rw-r--r-- | src/gpu/GrPreFlushResourceProvider.h | 2 | ||||
-rw-r--r-- | src/gpu/GrProcessor.cpp | 23 | ||||
-rw-r--r-- | src/gpu/GrRenderTargetContext.cpp | 5 | ||||
-rw-r--r-- | src/gpu/GrRenderTargetOpList.cpp | 35 | ||||
-rw-r--r-- | src/gpu/GrRenderTargetOpList.h | 8 | ||||
-rw-r--r-- | src/gpu/GrTextureOpList.cpp | 2 | ||||
-rw-r--r-- | src/gpu/ops/GrAAFillRectOp.cpp | 2 | ||||
-rw-r--r-- | src/gpu/ops/GrClearOp.h | 5 | ||||
-rw-r--r-- | src/gpu/ops/GrCopySurfaceOp.h | 6 | ||||
-rw-r--r-- | src/gpu/ops/GrDiscardOp.h | 4 | ||||
-rw-r--r-- | src/gpu/ops/GrMeshDrawOp.h | 4 | ||||
-rw-r--r-- | src/gpu/ops/GrNonAAFillRectOp.cpp | 2 | ||||
-rw-r--r-- | src/gpu/vk/GrVkPipelineState.cpp | 1 | ||||
-rw-r--r-- | tests/ProxyRefTest.cpp | 3 |
18 files changed, 74 insertions, 67 deletions
diff --git a/include/gpu/GrProcessor.h b/include/gpu/GrProcessor.h index 1816db2ea5..d10136846a 100644 --- a/include/gpu/GrProcessor.h +++ b/include/gpu/GrProcessor.h @@ -216,7 +216,13 @@ public: */ TextureSampler(); - // MDB TODO: this is the last GrTexture-based reset call! + TextureSampler(GrTexture*, const GrSamplerParams&); + explicit TextureSampler(GrTexture*, + GrSamplerParams::FilterMode = GrSamplerParams::kNone_FilterMode, + SkShader::TileMode tileXAndY = SkShader::kClamp_TileMode, + GrShaderFlags visibility = kFragment_GrShaderFlag); + void reset(GrTexture*, const GrSamplerParams&, + GrShaderFlags visibility = kFragment_GrShaderFlag); void reset(GrTexture*, GrSamplerParams::FilterMode = GrSamplerParams::kNone_FilterMode, SkShader::TileMode tileXAndY = SkShader::kClamp_TileMode, diff --git a/include/private/GrSurfaceProxy.h b/include/private/GrSurfaceProxy.h index 4f0ab964d5..e438e66cad 100644 --- a/include/private/GrSurfaceProxy.h +++ b/include/private/GrSurfaceProxy.h @@ -284,7 +284,7 @@ public: GrTextureOpList* getLastTextureOpList(); /** - * Retrieves the amount of GPU memory that will be or currently is used by this resource + * Retrieves the amount of GPU memory that will be or currently is used by this resource * in bytes. It is approximate since we aren't aware of additional padding or copies made * by the driver. * diff --git a/src/gpu/GrDrawingManager.cpp b/src/gpu/GrDrawingManager.cpp index 6b2c5a20b4..cecf52f329 100644 --- a/src/gpu/GrDrawingManager.cpp +++ b/src/gpu/GrDrawingManager.cpp @@ -31,6 +31,7 @@ void GrDrawingManager::cleanup() { // We shouldn't need to do this, but it turns out some clients still hold onto opLists // after a cleanup fOpLists[i]->reset(); + fOpLists[i]->unref(); } fOpLists.reset(); @@ -85,11 +86,9 @@ void GrDrawingManager::internalFlush(GrSurfaceProxy*, GrResourceCache::FlushType fOpLists[i]->makeClosed(); } -#ifdef ENABLE_MDB SkDEBUGCODE(bool result =) SkTTopoSort<GrOpList, GrOpList::TopoSortTraits>(&fOpLists); SkASSERT(result); -#endif GrPreFlushResourceProvider preFlushProvider(this); @@ -149,6 +148,9 @@ void GrDrawingManager::internalFlush(GrSurfaceProxy*, GrResourceCache::FlushType for (int i = 0; i < fOpLists.count(); ++i) { fOpLists[i]->reset(); +#ifdef ENABLE_MDB + fOpLists[i]->unref(); +#endif } #ifndef ENABLE_MDB @@ -204,24 +206,25 @@ sk_sp<GrRenderTargetOpList> GrDrawingManager::newRTOpList(sk_sp<GrRenderTargetPr SkASSERT(fOpLists.count() == 1); // In the non-MDB-world the same GrOpList gets reused for multiple render targets. // Update this pointer so all the asserts are happy - rtp->setLastOpList(fOpLists[0].get()); + rtp->setLastOpList(fOpLists[0]); // DrawingManager gets the creation ref - this ref is for the caller // TODO: although this is true right now it isn't cool - return sk_ref_sp((GrRenderTargetOpList*) fOpLists[0].get()); + return sk_ref_sp((GrRenderTargetOpList*) fOpLists[0]); } #endif - sk_sp<GrRenderTargetOpList> opList(new GrRenderTargetOpList(rtp, - fContext->getGpu(), - fContext->resourceProvider(), - fContext->getAuditTrail(), - fOptionsForOpLists)); - SkASSERT(rtp->getLastOpList() == opList.get()); + GrRenderTargetOpList* opList = new GrRenderTargetOpList(rtp, + fContext->getGpu(), + fContext->resourceProvider(), + fContext->getAuditTrail(), + fOptionsForOpLists); + SkASSERT(rtp->getLastOpList() == opList); - fOpLists.push_back() = opList; + *fOpLists.append() = opList; - return opList; + // DrawingManager gets the creation ref - this ref is for the caller + return sk_ref_sp(opList); } sk_sp<GrTextureOpList> GrDrawingManager::newTextureOpList(sk_sp<GrTextureProxy> textureProxy) { diff --git a/src/gpu/GrDrawingManager.h b/src/gpu/GrDrawingManager.h index d68430ecd2..ac6bbb45f2 100644 --- a/src/gpu/GrDrawingManager.h +++ b/src/gpu/GrDrawingManager.h @@ -111,7 +111,7 @@ private: GrSingleOwner* fSingleOwner; bool fAbandoned; - SkTArray<sk_sp<GrOpList>> fOpLists; + SkTDArray<GrOpList*> fOpLists; std::unique_ptr<GrAtlasTextContext> fAtlasTextContext; diff --git a/src/gpu/GrPreFlushResourceProvider.h b/src/gpu/GrPreFlushResourceProvider.h index 5f4b96bd25..86a299a422 100644 --- a/src/gpu/GrPreFlushResourceProvider.h +++ b/src/gpu/GrPreFlushResourceProvider.h @@ -26,7 +26,7 @@ class SkColorSpace; class SkSurfaceProps; /* - * This is the base class from which all pre-flush callback objects must be derived. It + * This is the base class from which all per-flush callback objects must be derived. It * provides the "preFlush" interface. */ class GrPreFlushCallbackObject : public GrNonAtomicRef<GrPreFlushCallbackObject> { diff --git a/src/gpu/GrProcessor.cpp b/src/gpu/GrProcessor.cpp index 4856c42a34..7c1052886d 100644 --- a/src/gpu/GrProcessor.cpp +++ b/src/gpu/GrProcessor.cpp @@ -204,6 +204,18 @@ bool GrResourceIOProcessor::hasSameSamplersAndAccesses(const GrResourceIOProcess GrResourceIOProcessor::TextureSampler::TextureSampler() {} +GrResourceIOProcessor::TextureSampler::TextureSampler(GrTexture* texture, + const GrSamplerParams& params) { + this->reset(texture, params); +} + +GrResourceIOProcessor::TextureSampler::TextureSampler(GrTexture* texture, + GrSamplerParams::FilterMode filterMode, + SkShader::TileMode tileXAndY, + GrShaderFlags visibility) { + this->reset(texture, filterMode, tileXAndY, visibility); +} + GrResourceIOProcessor::TextureSampler::TextureSampler(GrResourceProvider* resourceProvider, sk_sp<GrTextureProxy> proxy, const GrSamplerParams& params) { @@ -218,7 +230,16 @@ GrResourceIOProcessor::TextureSampler::TextureSampler(GrResourceProvider* resour this->reset(resourceProvider, std::move(proxy), filterMode, tileXAndY, visibility); } -// MDB TODO: remove this! +void GrResourceIOProcessor::TextureSampler::reset(GrTexture* texture, + const GrSamplerParams& params, + GrShaderFlags visibility) { + SkASSERT(texture); + fTexture.set(SkRef(texture), kRead_GrIOType); + fParams = params; + fParams.setFilterMode(SkTMin(params.filterMode(), texture->texturePriv().highestFilterMode())); + fVisibility = visibility; +} + void GrResourceIOProcessor::TextureSampler::reset(GrTexture* texture, GrSamplerParams::FilterMode filterMode, SkShader::TileMode tileXAndY, diff --git a/src/gpu/GrRenderTargetContext.cpp b/src/gpu/GrRenderTargetContext.cpp index 34812ddfbe..8ad9a4e633 100644 --- a/src/gpu/GrRenderTargetContext.cpp +++ b/src/gpu/GrRenderTargetContext.cpp @@ -1675,10 +1675,7 @@ uint32_t GrRenderTargetContext::addLegacyMeshDrawOp(GrPipelineBuilder&& pipeline } } op->initPipeline(args, analysis, overrideColor); - - // Add the pipeline dependencies on textures, etc before recording this op. - op->addDependenciesTo(fRenderTargetProxy.get()); - + // TODO: We need to add pipeline dependencies on textures, etc before recording this op. op->setClippedBounds(bounds); return this->getOpList()->addOp(std::move(op), this); } diff --git a/src/gpu/GrRenderTargetOpList.cpp b/src/gpu/GrRenderTargetOpList.cpp index 4d309f407e..5730e2e7ad 100644 --- a/src/gpu/GrRenderTargetOpList.cpp +++ b/src/gpu/GrRenderTargetOpList.cpp @@ -233,10 +233,6 @@ void GrRenderTargetOpList::fullClear(GrRenderTargetContext* renderTargetContext, // As currently implemented, fLastFullClearOp should be the last op because we would // have cleared it when another op was recorded. SkASSERT(fRecordedOps.back().fOp.get() == fLastFullClearOp); - GrOP_INFO("opList: %d Fusing clears (opID: %d Color: 0x%08x -> 0x%08x)\n", - this->uniqueID(), - fLastFullClearOp->uniqueID(), - fLastFullClearOp->color(), color); fLastFullClearOp->setColor(color); return; } @@ -320,14 +316,15 @@ GrOp* GrRenderTargetOpList::recordOp(std::unique_ptr<GrOp> op, // 3) find a 'blocker' GR_AUDIT_TRAIL_ADD_OP(fAuditTrail, op.get(), renderTarget->uniqueID(), renderTargetContext->asRenderTargetProxy()->uniqueID()); - GrOP_INFO("opList: %d Recording (%s, opID: %u)\n" - "\tBounds [L: %.2f, T: %.2f R: %.2f B: %.2f]\n", - this->uniqueID(), + GrOP_INFO("Recording (%s, opID: %u)\n" + "\tBounds: [L: %f T: %f R: %f B: %f]\n", op->name(), op->uniqueID(), op->bounds().fLeft, op->bounds().fTop, op->bounds().fRight, op->bounds().fBottom); GrOP_INFO(SkTabString(op->dumpInfo(), 1).c_str()); + GrOP_INFO("\tClipped Bounds: [L: %.2f, T: %.2f, R: %.2f, B: %.2f]\n", op->bounds().fLeft, + op->bounds().fTop, op->bounds().fRight, op->bounds().fBottom); GrOP_INFO("\tOutcome:\n"); int maxCandidates = SkTMin(fMaxOpLookback, fRecordedOps.count()); // If we don't have a valid destination render target then we cannot reorder. @@ -337,33 +334,33 @@ GrOp* GrRenderTargetOpList::recordOp(std::unique_ptr<GrOp> op, const RecordedOp& candidate = fRecordedOps.fromBack(i); // We cannot continue to search backwards if the render target changes if (candidate.fRenderTarget.get() != renderTarget) { - GrOP_INFO("\t\tBackward: Breaking because of (%s, opID: %u) Rendertarget mismatch\n", + GrOP_INFO("\t\tBreaking because of (%s, opID: %u) Rendertarget mismatch\n", candidate.fOp->name(), candidate.fOp->uniqueID()); break; } if (this->combineIfPossible(candidate, op.get(), clip, dstTexture)) { - GrOP_INFO("\t\tBackward: Combining with (%s, opID: %u)\n", candidate.fOp->name(), + GrOP_INFO("\t\tCombining with (%s, opID: %u)\n", candidate.fOp->name(), candidate.fOp->uniqueID()); - GrOP_INFO("\t\t\tBackward: Combined op info:\n"); + GrOP_INFO("\t\t\tCombined op info:\n"); GrOP_INFO(SkTabString(candidate.fOp->dumpInfo(), 4).c_str()); GR_AUDIT_TRAIL_OPS_RESULT_COMBINED(fAuditTrail, candidate.fOp.get(), op.get()); return candidate.fOp.get(); } // Stop going backwards if we would cause a painter's order violation. if (!can_reorder(fRecordedOps.fromBack(i).fOp->bounds(), op->bounds())) { - GrOP_INFO("\t\tBackward: Intersects with (%s, opID: %u)\n", candidate.fOp->name(), + GrOP_INFO("\t\tIntersects with (%s, opID: %u)\n", candidate.fOp->name(), candidate.fOp->uniqueID()); break; } ++i; if (i == maxCandidates) { - GrOP_INFO("\t\tBackward: Reached max lookback or beginning of op array %d\n", i); + GrOP_INFO("\t\tReached max lookback or beginning of op array %d\n", i); break; } } } else { - GrOP_INFO("\t\tBackward: FirstOp\n"); + GrOP_INFO("\t\tFirstOp\n"); } GR_AUDIT_TRAIL_OP_RESULT_NEW(fAuditTrail, op); if (clip) { @@ -378,15 +375,12 @@ GrOp* GrRenderTargetOpList::recordOp(std::unique_ptr<GrOp> op, } void GrRenderTargetOpList::forwardCombine() { - SkASSERT(!this->isClosed()); - if (fMaxOpLookahead <= 0) { return; } for (int i = 0; i < fRecordedOps.count() - 1; ++i) { GrOp* op = fRecordedOps[i].fOp.get(); GrRenderTarget* renderTarget = fRecordedOps[i].fRenderTarget.get(); - SkASSERT(renderTarget); // If we don't have a valid destination render target ID then we cannot reorder. if (!renderTarget) { continue; @@ -397,14 +391,13 @@ void GrRenderTargetOpList::forwardCombine() { const RecordedOp& candidate = fRecordedOps[j]; // We cannot continue to search if the render target changes if (candidate.fRenderTarget.get() != renderTarget) { - GrOP_INFO("\t\tForward: Breaking because of (%s, opID: %u) Rendertarget\n", - candidate.fOp->name(), + GrOP_INFO("\t\tBreaking because of (%s, B%u) Rendertarget\n", candidate.fOp->name(), candidate.fOp->uniqueID()); break; } if (this->combineIfPossible(fRecordedOps[i], candidate.fOp.get(), candidate.fAppliedClip, &candidate.fDstTexture)) { - GrOP_INFO("\t\tForward: Combining with (%s, opID: %u)\n", candidate.fOp->name(), + GrOP_INFO("\t\tCombining with (%s, B%u)\n", candidate.fOp->name(), candidate.fOp->uniqueID()); GR_AUDIT_TRAIL_OPS_RESULT_COMBINED(fAuditTrail, op, candidate.fOp.get()); fRecordedOps[j].fOp = std::move(fRecordedOps[i].fOp); @@ -412,13 +405,13 @@ void GrRenderTargetOpList::forwardCombine() { } // Stop going traversing if we would cause a painter's order violation. if (!can_reorder(fRecordedOps[j].fOp->bounds(), op->bounds())) { - GrOP_INFO("\t\tForward: Intersects with (%s, opID: %u)\n", candidate.fOp->name(), + GrOP_INFO("\t\tIntersects with (%s, B%u)\n", candidate.fOp->name(), candidate.fOp->uniqueID()); break; } ++j; if (j > maxCandidateIdx) { - GrOP_INFO("\t\tForward: Reached max lookahead or end of op array %d\n", i); + GrOP_INFO("\t\tReached max lookahead or end of op array %d\n", i); break; } } diff --git a/src/gpu/GrRenderTargetOpList.h b/src/gpu/GrRenderTargetOpList.h index dd265ed501..5762e0aab5 100644 --- a/src/gpu/GrRenderTargetOpList.h +++ b/src/gpu/GrRenderTargetOpList.h @@ -45,18 +45,12 @@ public: ~GrRenderTargetOpList() override; void makeClosed() override { - if (this->isClosed()) { - return; - } + INHERITED::makeClosed(); fLastFullClearOp = nullptr; this->forwardCombine(); - - INHERITED::makeClosed(); } - bool isEmpty() const { return fRecordedOps.empty(); } - /** * Empties the draw buffer of any queued up draws. */ diff --git a/src/gpu/GrTextureOpList.cpp b/src/gpu/GrTextureOpList.cpp index 689ea44783..175f178d5e 100644 --- a/src/gpu/GrTextureOpList.cpp +++ b/src/gpu/GrTextureOpList.cpp @@ -108,7 +108,7 @@ void GrTextureOpList::recordOp(std::unique_ptr<GrOp> op, SkASSERT(!this->isClosed()); GR_AUDIT_TRAIL_ADD_OP(fAuditTrail, op.get(), resourceUniqueID, proxyUniqueID); - GrOP_INFO("Re-Recording (%s, opID: %u)\n" + GrOP_INFO("Re-Recording (%s, B%u)\n" "\tBounds LRTB (%f, %f, %f, %f)\n", op->name(), op->uniqueID(), diff --git a/src/gpu/ops/GrAAFillRectOp.cpp b/src/gpu/ops/GrAAFillRectOp.cpp index 7bf62ece23..15fb645abc 100644 --- a/src/gpu/ops/GrAAFillRectOp.cpp +++ b/src/gpu/ops/GrAAFillRectOp.cpp @@ -180,7 +180,6 @@ public: SkString dumpInfo() const override { SkString str; - str.append(INHERITED::dumpInfo()); str.appendf("# combined: %d\n", fRectCnt); const RectInfo* info = this->first(); for (int i = 0; i < fRectCnt; ++i) { @@ -190,6 +189,7 @@ public: info = this->next(info); } str.append(DumpPipelineInfo(*this->pipeline())); + str.append(INHERITED::dumpInfo()); return str; } diff --git a/src/gpu/ops/GrClearOp.h b/src/gpu/ops/GrClearOp.h index 4f51796e6c..5340af1172 100644 --- a/src/gpu/ops/GrClearOp.h +++ b/src/gpu/ops/GrClearOp.h @@ -56,7 +56,6 @@ public: SkString dumpInfo() const override { SkString string; - string.append(INHERITED::dumpInfo()); string.appendf("rtID: %d proxyID: %d Scissor [", fRenderTarget.get()->uniqueID().asUInt(), fProxyUniqueID.asUInt()); @@ -66,11 +65,11 @@ public: } else { string.append("disabled"); } - string.appendf("], Color: 0x%08x\n", fColor); + string.appendf("], Color: 0x%08x ", fColor); + string.append(INHERITED::dumpInfo()); return string; } - GrColor color() const { return fColor; } void setColor(GrColor color) { fColor = color; } private: diff --git a/src/gpu/ops/GrCopySurfaceOp.h b/src/gpu/ops/GrCopySurfaceOp.h index f479f28d1e..e455c3e7dc 100644 --- a/src/gpu/ops/GrCopySurfaceOp.h +++ b/src/gpu/ops/GrCopySurfaceOp.h @@ -25,13 +25,13 @@ public: SkString dumpInfo() const override { SkString string; - string.append(INHERITED::dumpInfo()); - string.printf("src: (proxyID: %d, rtID: %d), dst: (proxyID: %d, rtID: %d),\n" - "srcRect: [L: %d, T: %d, R: %d, B: %d], dstPt: [X: %d, Y: %d]\n", + string.printf("src: (proxyID: %d, rtID: %d), dst: (proxyID: %d, rtID: %d), " + "srcRect: [L: %d, T: %d, R: %d, B: %d], dstPt: [X: %d, Y: %d]", fSrcProxyID.asUInt(), fSrc.get()->uniqueID().asUInt(), fDstProxyID.asUInt(), fDst.get()->uniqueID().asUInt(), fSrcRect.fLeft, fSrcRect.fTop, fSrcRect.fRight, fSrcRect.fBottom, fDstPoint.fX, fDstPoint.fY); + string.append(INHERITED::dumpInfo()); return string; } diff --git a/src/gpu/ops/GrDiscardOp.h b/src/gpu/ops/GrDiscardOp.h index 5640f308ac..ca7f0007de 100644 --- a/src/gpu/ops/GrDiscardOp.h +++ b/src/gpu/ops/GrDiscardOp.h @@ -35,9 +35,9 @@ public: SkString dumpInfo() const override { SkString string; + string.printf("rtID: %d proxyID: %d ", fRenderTarget.get()->uniqueID().asUInt(), + fProxyUniqueID.asUInt()); string.append(INHERITED::dumpInfo()); - string.printf("rtID: %d proxyID: %d\n", fRenderTarget.get()->uniqueID().asUInt(), - fProxyUniqueID.asUInt()); return string; } diff --git a/src/gpu/ops/GrMeshDrawOp.h b/src/gpu/ops/GrMeshDrawOp.h index a4b172d357..8fbd30d280 100644 --- a/src/gpu/ops/GrMeshDrawOp.h +++ b/src/gpu/ops/GrMeshDrawOp.h @@ -119,10 +119,6 @@ public: this->applyPipelineOptimizations(PipelineOptimizations(analysis, overrideColor)); } - void addDependenciesTo(GrRenderTargetProxy* rtp) { - fPipeline.addDependenciesTo(rtp); - } - /** * Mesh draw ops use a legacy system in GrRenderTargetContext where the pipeline is created when * the op is recorded. These methods are unnecessary as this information is in the pipeline. diff --git a/src/gpu/ops/GrNonAAFillRectOp.cpp b/src/gpu/ops/GrNonAAFillRectOp.cpp index 69bfe291e2..99cb2bd9df 100644 --- a/src/gpu/ops/GrNonAAFillRectOp.cpp +++ b/src/gpu/ops/GrNonAAFillRectOp.cpp @@ -95,7 +95,6 @@ public: SkString dumpInfo() const override { SkString str; - str.append(INHERITED::dumpInfo()); str.appendf("# combined: %d\n", fRects.count()); for (int i = 0; i < fRects.count(); ++i) { const RectInfo& info = fRects[i]; @@ -104,6 +103,7 @@ public: info.fRect.fBottom); } str.append(DumpPipelineInfo(*this->pipeline())); + str.append(INHERITED::dumpInfo()); return str; } diff --git a/src/gpu/vk/GrVkPipelineState.cpp b/src/gpu/vk/GrVkPipelineState.cpp index 0a9d68eb38..4ce7681b15 100644 --- a/src/gpu/vk/GrVkPipelineState.cpp +++ b/src/gpu/vk/GrVkPipelineState.cpp @@ -220,7 +220,6 @@ void GrVkPipelineState::setData(GrVkGpu* gpu, fXferProcessor->setData(fDataManager, pipeline.getXferProcessor(), dstTexture, offset); GrResourceIOProcessor::TextureSampler dstTextureSampler; if (dstTexture) { - // MDB TODO: this is the last usage of a GrTexture-based TextureSampler reset method dstTextureSampler.reset(dstTexture); textureBindings.push_back(&dstTextureSampler); } diff --git a/tests/ProxyRefTest.cpp b/tests/ProxyRefTest.cpp index a18dd61f1c..708c7b3034 100644 --- a/tests/ProxyRefTest.cpp +++ b/tests/ProxyRefTest.cpp @@ -76,8 +76,7 @@ static sk_sp<GrTextureProxy> make_deferred(GrContext* context) { desc.fConfig = kRGBA_8888_GrPixelConfig; return GrSurfaceProxy::MakeDeferred(context->resourceProvider(), desc, - SkBackingFit::kApprox, SkBudgeted::kYes, - GrResourceProvider::kNoPendingIO_Flag); + SkBackingFit::kApprox, SkBudgeted::kYes); } static sk_sp<GrTextureProxy> make_wrapped(GrContext* context) { |