OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 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 GrInOrderDrawBuffer_DEFINED | 8 #ifndef GrBufferedDrawTarget_DEFINED |
9 #define GrInOrderDrawBuffer_DEFINED | 9 #define GrBufferedDrawTarget_DEFINED |
10 | 10 |
11 #include "GrDrawTarget.h" | 11 #include "GrDrawTarget.h" |
12 #include "GrCommandBuilder.h" | 12 #include "GrCommandBuilder.h" |
13 #include "SkChunkAlloc.h" | 13 #include "SkChunkAlloc.h" |
14 | 14 |
15 /** | 15 /** |
16 * GrInOrderDrawBuffer is an implementation of GrDrawTarget that queues up draws
for eventual | 16 * GrBufferedDrawTarget is an implementation of GrDrawTarget that queues up draw
s for eventual |
17 * playback into a GrGpu. In theory one draw buffer could playback into another.
When index or | 17 * playback into a GrGpu. In theory one draw buffer could playback into another.
Similarly, it is |
18 * vertex buffers are used as geometry sources it is the callers the draw buffer
only holds | 18 * the caller's responsibility to ensure that all referenced textures, buffers,
and render-targets |
19 * references to the buffers. It is the callers responsibility to ensure that th
e data is still | 19 * are associated in the GrGpu object that the buffer is played back into. |
20 * valid when the draw buffer is played back into a GrGpu. Similarly, it is the
caller's | |
21 * responsibility to ensure that all referenced textures, buffers, and render-ta
rgets are associated | |
22 * in the GrGpu object that the buffer is played back into. The buffer requires
VB and IB pools to | |
23 * store geometry. | |
24 */ | 20 */ |
25 class GrInOrderDrawBuffer : public GrClipTarget { | 21 class GrBufferedDrawTarget : public GrClipTarget { |
26 public: | 22 public: |
27 | 23 |
28 /** | 24 /** |
29 * Creates a GrInOrderDrawBuffer | 25 * Creates a GrBufferedDrawTarget |
30 * | 26 * |
31 * @param context the context object that owns this draw buffer. | 27 * @param context the context object that owns this draw buffer. |
32 */ | 28 */ |
33 GrInOrderDrawBuffer(GrContext* context); | 29 GrBufferedDrawTarget(GrContext* context); |
34 | 30 |
35 ~GrInOrderDrawBuffer() override; | 31 ~GrBufferedDrawTarget() override; |
36 | 32 |
37 void clearStencilClip(const SkIRect& rect, | 33 void clearStencilClip(const SkIRect& rect, |
38 bool insideClip, | 34 bool insideClip, |
39 GrRenderTarget* renderTarget) override; | 35 GrRenderTarget* renderTarget) override; |
40 | 36 |
41 void discard(GrRenderTarget*) override; | 37 void discard(GrRenderTarget*) override; |
42 | 38 |
43 protected: | 39 protected: |
44 void appendIndicesAndTransforms(const void* indexValues, PathIndexType index
Type, | 40 void appendIndicesAndTransforms(const void* indexValues, PathIndexType index
Type, |
45 const float* transformValues, PathTransformT
ype transformType, | 41 const float* transformValues, PathTransformT
ype transformType, |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 SkChunkAlloc fPathIndexBuffer; | 134 SkChunkAlloc fPathIndexBuffer; |
139 SkChunkAlloc fPathTransformBuffer; | 135 SkChunkAlloc fPathTransformBuffer; |
140 SkChunkAlloc fPipelineBuffer; | 136 SkChunkAlloc fPipelineBuffer; |
141 uint32_t fDrawID; | 137 uint32_t fDrawID; |
142 SkAutoTUnref<State> fPrevState; | 138 SkAutoTUnref<State> fPrevState; |
143 | 139 |
144 typedef GrClipTarget INHERITED; | 140 typedef GrClipTarget INHERITED; |
145 }; | 141 }; |
146 | 142 |
147 #endif | 143 #endif |
OLD | NEW |