sk_sp<GrRenderTargetOpList> GrDrawingManager::newRTOpList(GrRenderTargetProxy* rtp, bool managedOpList) { SkASSERT(fContext); // This is a temporary fix for the partial-MDB world. In that world we're not reordering // so ops that (in the single opList world) would've just glommed onto the end of the single // opList but referred to a far earlier RT need to appear in their own opList. if (!fOpLists.empty()) { fOpLists.back()->makeClosed(*fContext->caps()); } auto resourceProvider = fContext->contextPriv().resourceProvider(); sk_sp<GrRenderTargetOpList> opList(new GrRenderTargetOpList( rtp, resourceProvider, fContext->contextPriv().getAuditTrail())); SkASSERT(rtp->getLastOpList() == opList.get()); if (managedOpList) { fOpLists.push_back() = opList; } return opList; }
inline OpList* makeList(OpList* head , TNode* term) { return opList(head,term); }