From: joshualitt Date: Thu, 11 Feb 2016 14:46:52 +0000 (-0800) Subject: Pass a GrContext pointer in GrDrawContext constructor X-Git-Tag: submit/tizen/20180928.044319~129^2~2098 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1b39f439413c52eb5b172834775104a89eb229aa;p=platform%2Fupstream%2FlibSkiaSharp.git Pass a GrContext pointer in GrDrawContext constructor TBR=bsalomon@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1691503002 Review URL: https://codereview.chromium.org/1691503002 --- diff --git a/include/gpu/GrDrawContext.h b/include/gpu/GrDrawContext.h index 9276e2b21f..24e38b8494 100644 --- a/include/gpu/GrDrawContext.h +++ b/include/gpu/GrDrawContext.h @@ -288,8 +288,8 @@ private: SkDEBUGCODE(void validate() const;) - GrDrawContext(GrDrawingManager*, GrRenderTarget*, const SkSurfaceProps* surfaceProps, - GrAuditTrail*, GrSingleOwner*); + GrDrawContext(GrContext*, GrDrawingManager*, GrRenderTarget*, + const SkSurfaceProps* surfaceProps, GrAuditTrail*, GrSingleOwner*); void internalDrawPath(GrPipelineBuilder*, const SkMatrix& viewMatrix, @@ -311,6 +311,7 @@ private: // it up. For this reason, the drawTarget should only ever be accessed via 'getDrawTarget'. GrDrawTarget* fDrawTarget; GrTextContext* fTextContext; // lazily gotten from GrContext::DrawingManager + GrContext* fContext; SkSurfaceProps fSurfaceProps; GrAuditTrail* fAuditTrail; diff --git a/src/gpu/GrDrawContext.cpp b/src/gpu/GrDrawContext.cpp index ed969f7e82..be6eaf401d 100644 --- a/src/gpu/GrDrawContext.cpp +++ b/src/gpu/GrDrawContext.cpp @@ -50,7 +50,8 @@ private: // drawTargets to be picked up and added to by drawContexts lower in the call // stack. When this occurs with a closed drawTarget, a new one will be allocated // when the drawContext attempts to use it (via getDrawTarget). -GrDrawContext::GrDrawContext(GrDrawingManager* drawingMgr, +GrDrawContext::GrDrawContext(GrContext* context, + GrDrawingManager* drawingMgr, GrRenderTarget* rt, const SkSurfaceProps* surfaceProps, GrAuditTrail* auditTrail, @@ -59,6 +60,7 @@ GrDrawContext::GrDrawContext(GrDrawingManager* drawingMgr, , fRenderTarget(rt) , fDrawTarget(SkSafeRef(rt->getLastDrawTarget())) , fTextContext(nullptr) + , fContext(context) , fSurfaceProps(SkSurfacePropsCopyOrDefault(surfaceProps)) , fAuditTrail(auditTrail) #ifdef SK_DEBUG diff --git a/src/gpu/GrDrawingManager.cpp b/src/gpu/GrDrawingManager.cpp index 5b23b0c694..30bdfe1c3d 100644 --- a/src/gpu/GrDrawingManager.cpp +++ b/src/gpu/GrDrawingManager.cpp @@ -196,5 +196,6 @@ GrDrawContext* GrDrawingManager::drawContext(GrRenderTarget* rt, return nullptr; } - return new GrDrawContext(this, rt, surfaceProps, fContext->getAuditTrail(), fSingleOwner); + return new GrDrawContext(fContext, this, rt, surfaceProps, fContext->getAuditTrail(), + fSingleOwner); }