Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/gpu/GrImmediateDrawTarget.h

Issue 1278643006: Make GrBatch carry its own GrPipeline (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: more Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/gpu/GrDrawTarget.cpp ('k') | src/gpu/GrImmediateDrawTarget.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 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 GrImmediateDrawTarget_DEFINED 8 #ifndef GrImmediateDrawTarget_DEFINED
9 #define GrImmediateDrawTarget_DEFINED 9 #define GrImmediateDrawTarget_DEFINED
10 10
11 #include "GrDrawTarget.h" 11 #include "GrDrawTarget.h"
12 12
13 #include "GrBatchTarget.h" 13 #include "GrBatchTarget.h"
14 14
15 /** 15 /**
16 * A debug GrDrawTarget which immediately flushes every command it receives 16 * A debug GrDrawTarget which immediately flushes every command it receives
17 */ 17 */
18 class GrImmediateDrawTarget : public GrClipTarget { 18 class GrImmediateDrawTarget : public GrClipTarget {
19 public: 19 public:
20
21 /** 20 /**
22 * Creates a GrImmediateDrawTarget 21 * Creates a GrImmediateDrawTarget
23 * 22 *
24 * @param context the context object that owns this draw buffer. 23 * @param context the context object that owns this draw buffer.
25 */ 24 */
26 GrImmediateDrawTarget(GrContext* context); 25 GrImmediateDrawTarget(GrContext* context);
27 26
28 ~GrImmediateDrawTarget() override; 27 ~GrImmediateDrawTarget() override;
29 28
30 void clearStencilClip(const SkIRect& rect, 29 void clearStencilClip(const SkIRect& rect,
31 bool insideClip, 30 bool insideClip,
32 GrRenderTarget* renderTarget) override; 31 GrRenderTarget* renderTarget) override;
33 32
34 void discard(GrRenderTarget*) override; 33 void discard(GrRenderTarget*) override;
35 34
36 private: 35 private:
37 void onReset() override; 36 void onReset() override;
38 void onFlush() override; 37 void onFlush() override;
39 38
40 // overrides from GrDrawTarget 39 // overrides from GrDrawTarget
41 void onDrawBatch(GrBatch*, const PipelineInfo&) override; 40 void onDrawBatch(GrBatch*) override;
42 void onStencilPath(const GrPipelineBuilder&, 41 void onStencilPath(const GrPipelineBuilder&,
43 const GrPathProcessor*, 42 const GrPathProcessor*,
44 const GrPath*, 43 const GrPath*,
45 const GrScissorState&, 44 const GrScissorState&,
46 const GrStencilSettings&) override { 45 const GrStencilSettings&) override {
47 SkFAIL("Only batch implemented\n"); 46 SkFAIL("Only batch implemented\n");
48 } 47 }
49 void onDrawPath(const GrPathProcessor*, 48 void onDrawPath(const GrPathProcessor*,
50 const GrPath*, 49 const GrPath*,
51 const GrStencilSettings&, 50 const GrStencilSettings&,
(...skipping 14 matching lines...) Expand all
66 void onClear(const SkIRect& rect, 65 void onClear(const SkIRect& rect,
67 GrColor color, 66 GrColor color,
68 GrRenderTarget* renderTarget) override; 67 GrRenderTarget* renderTarget) override;
69 void onCopySurface(GrSurface* dst, 68 void onCopySurface(GrSurface* dst,
70 GrSurface* src, 69 GrSurface* src,
71 const SkIRect& srcRect, 70 const SkIRect& srcRect,
72 const SkIPoint& dstPoint) override; 71 const SkIPoint& dstPoint) override;
73 72
74 bool isIssued(uint32_t drawID) override { return drawID != fDrawID; } 73 bool isIssued(uint32_t drawID) override { return drawID != fDrawID; }
75 74
76 bool SK_WARN_UNUSED_RESULT setupPipelineAndShouldDraw(void* pipelineAddr,
77 const GrDrawTarget::Pi pelineInfo&,
78 GrPipelineOptimization s* opts);
79
80 void recordXferBarrierIfNecessary(const GrPipeline*);
81
82 GrBatchTarget fBatchTarget; 75 GrBatchTarget fBatchTarget;
83 uint32_t fDrawID; 76 uint32_t fDrawID;
84 77
85 typedef GrClipTarget INHERITED; 78 typedef GrClipTarget INHERITED;
86 }; 79 };
87 80
88 #endif 81 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrDrawTarget.cpp ('k') | src/gpu/GrImmediateDrawTarget.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698