diff options
-rw-r--r-- | src/gpu/GrDrawingManager.cpp | 2 | ||||
-rw-r--r-- | src/gpu/GrRenderTargetOpList.cpp | 4 | ||||
-rw-r--r-- | src/gpu/GrRenderTargetOpList.h | 2 | ||||
-rw-r--r-- | src/gpu/GrTextureOpList.cpp | 7 |
4 files changed, 11 insertions, 4 deletions
diff --git a/src/gpu/GrDrawingManager.cpp b/src/gpu/GrDrawingManager.cpp index 8ebcc85455..d9af37dcaa 100644 --- a/src/gpu/GrDrawingManager.cpp +++ b/src/gpu/GrDrawingManager.cpp @@ -391,8 +391,8 @@ sk_sp<GrRenderTargetOpList> GrDrawingManager::newRTOpList(GrRenderTargetProxy* r auto resourceProvider = fContext->contextPriv().resourceProvider(); sk_sp<GrRenderTargetOpList> opList(new GrRenderTargetOpList( - rtp, resourceProvider, + rtp, fContext->contextPriv().getAuditTrail())); SkASSERT(rtp->getLastOpList() == opList.get()); diff --git a/src/gpu/GrRenderTargetOpList.cpp b/src/gpu/GrRenderTargetOpList.cpp index ccf2b78385..2d26d14281 100644 --- a/src/gpu/GrRenderTargetOpList.cpp +++ b/src/gpu/GrRenderTargetOpList.cpp @@ -24,8 +24,8 @@ static const int kMaxOpLookback = 10; static const int kMaxOpLookahead = 10; -GrRenderTargetOpList::GrRenderTargetOpList(GrRenderTargetProxy* proxy, - GrResourceProvider* resourceProvider, +GrRenderTargetOpList::GrRenderTargetOpList(GrResourceProvider* resourceProvider, + GrRenderTargetProxy* proxy, GrAuditTrail* auditTrail) : INHERITED(resourceProvider, proxy, auditTrail) , fLastClipStackGenID(SK_InvalidUniqueID) diff --git a/src/gpu/GrRenderTargetOpList.h b/src/gpu/GrRenderTargetOpList.h index 6bbd1cb837..c0a72333da 100644 --- a/src/gpu/GrRenderTargetOpList.h +++ b/src/gpu/GrRenderTargetOpList.h @@ -32,7 +32,7 @@ private: using DstProxy = GrXferProcessor::DstProxy; public: - GrRenderTargetOpList(GrRenderTargetProxy*, GrResourceProvider*, GrAuditTrail*); + GrRenderTargetOpList(GrResourceProvider*, GrRenderTargetProxy*, GrAuditTrail*); ~GrRenderTargetOpList() override; diff --git a/src/gpu/GrTextureOpList.cpp b/src/gpu/GrTextureOpList.cpp index ad00d95a00..45deb2d59b 100644 --- a/src/gpu/GrTextureOpList.cpp +++ b/src/gpu/GrTextureOpList.cpp @@ -51,6 +51,7 @@ void GrTextureOpList::dump() const { #endif void GrTextureOpList::onPrepare(GrOpFlushState* flushState) { + SkASSERT(fTarget.get()->priv().peekTexture()); SkASSERT(this->isClosed()); // Loop over the ops that haven't yet generated their geometry @@ -74,12 +75,18 @@ bool GrTextureOpList::onExecute(GrOpFlushState* flushState) { return false; } + SkASSERT(fTarget.get()->priv().peekTexture()); + std::unique_ptr<GrGpuTextureCommandBuffer> commandBuffer( flushState->gpu()->createCommandBuffer(fTarget.get()->priv().peekTexture(), fTarget.get()->origin())); flushState->setCommandBuffer(commandBuffer.get()); for (int i = 0; i < fRecordedOps.count(); ++i) { + if (!fRecordedOps[i]) { + continue; + } + GrOpFlushState::OpArgs opArgs = { fRecordedOps[i].get(), nullptr, |