| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2010 Google Inc. | 2 * Copyright 2010 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef GrDrawTarget_DEFINED | 8 #ifndef GrDrawTarget_DEFINED |
| 9 #define GrDrawTarget_DEFINED | 9 #define GrDrawTarget_DEFINED |
| 10 | 10 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 class GrBatch; | 36 class GrBatch; |
| 37 class GrBatchFlushState; | 37 class GrBatchFlushState; |
| 38 class GrClip; | 38 class GrClip; |
| 39 class GrCaps; | 39 class GrCaps; |
| 40 class GrPath; | 40 class GrPath; |
| 41 class GrDrawPathBatchBase; | 41 class GrDrawPathBatchBase; |
| 42 class GrPathRangeDraw; | 42 class GrPathRangeDraw; |
| 43 | 43 |
| 44 class GrDrawTarget final : public SkRefCnt { | 44 class GrDrawTarget final : public SkRefCnt { |
| 45 public: | 45 public: |
| 46 struct Options { |
| 47 bool fImmediateMode; |
| 48 }; |
| 49 |
| 46 // The context may not be fully constructed and should not be used during Gr
DrawTarget | 50 // The context may not be fully constructed and should not be used during Gr
DrawTarget |
| 47 // construction. | 51 // construction. |
| 48 GrDrawTarget(GrGpu* gpu, GrResourceProvider*); | 52 GrDrawTarget(GrGpu* gpu, GrResourceProvider*, const Options& options); |
| 49 | 53 |
| 50 ~GrDrawTarget() override; | 54 ~GrDrawTarget() override; |
| 51 | 55 |
| 52 void makeClosed() { | 56 void makeClosed() { |
| 53 // We only close drawTargets When MDB is enabled. When MDB is disabled t
here is only | 57 // We only close drawTargets When MDB is enabled. When MDB is disabled t
here is only |
| 54 // ever one drawTarget and all calls will be funnelled into it. | 58 // ever one drawTarget and all calls will be funnelled into it. |
| 55 #ifdef ENABLE_MDB | 59 #ifdef ENABLE_MDB |
| 56 this->setFlag(kClosed_Flag); | 60 this->setFlag(kClosed_Flag); |
| 57 #endif | 61 #endif |
| 58 } | 62 } |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 } | 218 } |
| 215 | 219 |
| 216 GrContext* context() const { return fDrawTarget->fContext; } | 220 GrContext* context() const { return fDrawTarget->fContext; } |
| 217 GrResourceProvider* resourceProvider() const { return fDrawTarget->fReso
urceProvider; } | 221 GrResourceProvider* resourceProvider() const { return fDrawTarget->fReso
urceProvider; } |
| 218 GrDrawTarget* fDrawTarget; | 222 GrDrawTarget* fDrawTarget; |
| 219 friend class GrClipMaskManager; | 223 friend class GrClipMaskManager; |
| 220 }; | 224 }; |
| 221 | 225 |
| 222 const CMMAccess cmmAccess() { return CMMAccess(this); } | 226 const CMMAccess cmmAccess() { return CMMAccess(this); } |
| 223 | 227 |
| 224 | |
| 225 private: | 228 private: |
| 226 friend class GrDrawingManager; // for resetFlag & TopoSortTraits | 229 friend class GrDrawingManager; // for resetFlag & TopoSortTraits |
| 227 | 230 |
| 228 enum Flags { | 231 enum Flags { |
| 229 kClosed_Flag = 0x01, //!< This drawTarget can't accept any more bat
ches | 232 kClosed_Flag = 0x01, //!< This drawTarget can't accept any more bat
ches |
| 230 | 233 |
| 231 kWasOutput_Flag = 0x02, //!< Flag for topological sorting | 234 kWasOutput_Flag = 0x02, //!< Flag for topological sorting |
| 232 kTempMark_Flag = 0x04, //!< Flag for topological sorting | 235 kTempMark_Flag = 0x04, //!< Flag for topological sorting |
| 233 }; | 236 }; |
| 234 | 237 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 // The context is only in service of the clip mask manager, remove once CMM
doesn't need this. | 307 // The context is only in service of the clip mask manager, remove once CMM
doesn't need this. |
| 305 GrContext* fContext; | 308 GrContext* fContext; |
| 306 GrGpu* fGpu; | 309 GrGpu* fGpu; |
| 307 GrResourceProvider* fResourceProvider; | 310 GrResourceProvider* fResourceProvider; |
| 308 GrBatchFlushState fFlushState; | 311 GrBatchFlushState fFlushState; |
| 309 bool fFlushing; | 312 bool fFlushing; |
| 310 int fFirstUnpreparedBatch; | 313 int fFirstUnpreparedBatch; |
| 311 | 314 |
| 312 SkDEBUGCODE(int fDebugID;) | 315 SkDEBUGCODE(int fDebugID;) |
| 313 uint32_t fFlags; | 316 uint32_t fFlags; |
| 317 Options fOptions; |
| 314 | 318 |
| 315 // 'this' drawTarget relies on the output of the drawTargets in 'fDependenci
es' | 319 // 'this' drawTarget relies on the output of the drawTargets in 'fDependenci
es' |
| 316 SkTDArray<GrDrawTarget*> fDependencies; | 320 SkTDArray<GrDrawTarget*> fDependencies; |
| 317 | 321 |
| 318 typedef SkRefCnt INHERITED; | 322 typedef SkRefCnt INHERITED; |
| 319 }; | 323 }; |
| 320 | 324 |
| 321 #endif | 325 #endif |
| OLD | NEW |