diff options
author | joshualitt <joshualitt@chromium.org> | 2016-01-07 11:32:39 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-07 11:32:40 -0800 |
commit | f9bc796e0dbd31674c22b34761913ee6e8fdd66a (patch) | |
tree | e3df859198b69533e4c7d96c20662ca3a84d8e68 /include | |
parent | bfd5f171e6a3eccd7c4bede652a85fd76bcbce2a (diff) |
Make a single GrSingleOwner in GrContext
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1563703004
Review URL: https://codereview.chromium.org/1563703004
Diffstat (limited to 'include')
-rw-r--r-- | include/gpu/GrContext.h | 4 | ||||
-rw-r--r-- | include/gpu/GrDrawContext.h | 5 | ||||
-rw-r--r-- | include/private/GrSingleOwner.h | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h index 39477e0db8..baf99789c0 100644 --- a/include/gpu/GrContext.h +++ b/include/gpu/GrContext.h @@ -392,7 +392,9 @@ private: SkMutex fTestPMConversionsMutex; // In debug builds we guard against improper thread handling - SkDEBUGCODE(mutable GrSingleOwner fSingleOwner;) + // This guard is passed to the GrDrawingManager and, from there to all the + // GrDrawContexts. It is also passed to the GrTextureProvider and SkGpuDevice. + mutable GrSingleOwner fSingleOwner; struct CleanUpData { PFCleanUpFunc fFunc; diff --git a/include/gpu/GrDrawContext.h b/include/gpu/GrDrawContext.h index 21977bed74..7ae6f5e682 100644 --- a/include/gpu/GrDrawContext.h +++ b/include/gpu/GrDrawContext.h @@ -283,7 +283,8 @@ private: SkDEBUGCODE(void validate() const;) - GrDrawContext(GrDrawingManager*, GrRenderTarget*, const SkSurfaceProps* surfaceProps); + GrDrawContext(GrDrawingManager*, GrRenderTarget*, const SkSurfaceProps* surfaceProps, + GrSingleOwner*); void internalDrawPath(GrPipelineBuilder*, const SkMatrix& viewMatrix, @@ -309,7 +310,7 @@ private: SkSurfaceProps fSurfaceProps; // In debug builds we guard against improper thread handling - SkDEBUGCODE(mutable GrSingleOwner fSingleOwner;) + mutable GrSingleOwner* fSingleOwner; }; #endif diff --git a/include/private/GrSingleOwner.h b/include/private/GrSingleOwner.h index dea982e89a..64e63d3b19 100644 --- a/include/private/GrSingleOwner.h +++ b/include/private/GrSingleOwner.h @@ -48,6 +48,8 @@ private: SkThreadID fOwner; // guarded by fMutex int fReentranceCount; // guarded by fMutex }; +#else +class GrSingleOwner {}; // Provide a dummy implementation so we can pass pointers to constructors #endif #endif |