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

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

Issue 1037793002: C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: git cl web Created 5 years, 9 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/GrGpu.h ('k') | src/gpu/GrInOrderDrawBuffer.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 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 GrInOrderDrawBuffer_DEFINED
9 #define GrInOrderDrawBuffer_DEFINED 9 #define GrInOrderDrawBuffer_DEFINED
10 10
(...skipping 20 matching lines...) Expand all
31 * @param gpu the gpu object that this draw buffer flushes to. 31 * @param gpu the gpu object that this draw buffer flushes to.
32 * @param vertexPool pool where vertices for queued draws will be saved when 32 * @param vertexPool pool where vertices for queued draws will be saved when
33 * the vertex source is either reserved or array. 33 * the vertex source is either reserved or array.
34 * @param indexPool pool where indices for queued draws will be saved when 34 * @param indexPool pool where indices for queued draws will be saved when
35 * the index source is either reserved or array. 35 * the index source is either reserved or array.
36 */ 36 */
37 GrInOrderDrawBuffer(GrGpu* gpu, 37 GrInOrderDrawBuffer(GrGpu* gpu,
38 GrVertexBufferAllocPool* vertexPool, 38 GrVertexBufferAllocPool* vertexPool,
39 GrIndexBufferAllocPool* indexPool); 39 GrIndexBufferAllocPool* indexPool);
40 40
41 ~GrInOrderDrawBuffer() SK_OVERRIDE; 41 ~GrInOrderDrawBuffer() override;
42 42
43 // tracking for draws 43 // tracking for draws
44 DrawToken getCurrentDrawToken() SK_OVERRIDE { return DrawToken(this, fDrawID ); } 44 DrawToken getCurrentDrawToken() override { return DrawToken(this, fDrawID); }
45 45
46 void clearStencilClip(const SkIRect& rect, 46 void clearStencilClip(const SkIRect& rect,
47 bool insideClip, 47 bool insideClip,
48 GrRenderTarget* renderTarget) SK_OVERRIDE; 48 GrRenderTarget* renderTarget) override;
49 49
50 void discard(GrRenderTarget*) SK_OVERRIDE; 50 void discard(GrRenderTarget*) override;
51 51
52 protected: 52 protected:
53 void willReserveVertexAndIndexSpace(int vertexCount, 53 void willReserveVertexAndIndexSpace(int vertexCount,
54 size_t vertexStride, 54 size_t vertexStride,
55 int indexCount) SK_OVERRIDE; 55 int indexCount) override;
56 56
57 void appendIndicesAndTransforms(const void* indexValues, PathIndexType index Type, 57 void appendIndicesAndTransforms(const void* indexValues, PathIndexType index Type,
58 const float* transformValues, PathTransformT ype transformType, 58 const float* transformValues, PathTransformT ype transformType,
59 int count, char** indicesLocation, float** x formsLocation) { 59 int count, char** indicesLocation, float** x formsLocation) {
60 int indexBytes = GrPathRange::PathIndexSizeInBytes(indexType); 60 int indexBytes = GrPathRange::PathIndexSizeInBytes(indexType);
61 *indicesLocation = (char*) fPathIndexBuffer.alloc(count * indexBytes, 61 *indicesLocation = (char*) fPathIndexBuffer.alloc(count * indexBytes,
62 SkChunkAlloc::kThrow_A llocFailType); 62 SkChunkAlloc::kThrow_A llocFailType);
63 SkASSERT(SkIsAlign4((uintptr_t)*indicesLocation)); 63 SkASSERT(SkIsAlign4((uintptr_t)*indicesLocation));
64 memcpy(*indicesLocation, reinterpret_cast<const char*>(indexValues), cou nt * indexBytes); 64 memcpy(*indicesLocation, reinterpret_cast<const char*>(indexValues), cou nt * indexBytes);
65 65
(...skipping 19 matching lines...) Expand all
85 return false; 85 return false;
86 } 86 }
87 87
88 *ib = geomSrc.fIndexBuffer; 88 *ib = geomSrc.fIndexBuffer;
89 return true; 89 return true;
90 } 90 }
91 91
92 private: 92 private:
93 friend class GrTargetCommands; 93 friend class GrTargetCommands;
94 94
95 void onReset() SK_OVERRIDE; 95 void onReset() override;
96 void onFlush() SK_OVERRIDE; 96 void onFlush() override;
97 97
98 // overrides from GrDrawTarget 98 // overrides from GrDrawTarget
99 void onDraw(const GrGeometryProcessor*, const DrawInfo&, const PipelineInfo& ) SK_OVERRIDE; 99 void onDraw(const GrGeometryProcessor*, const DrawInfo&, const PipelineInfo& ) override;
100 void onDrawBatch(GrBatch*, const PipelineInfo&) SK_OVERRIDE; 100 void onDrawBatch(GrBatch*, const PipelineInfo&) override;
101 void onDrawRect(GrPipelineBuilder*, 101 void onDrawRect(GrPipelineBuilder*,
102 GrColor, 102 GrColor,
103 const SkMatrix& viewMatrix, 103 const SkMatrix& viewMatrix,
104 const SkRect& rect, 104 const SkRect& rect,
105 const SkRect* localRect, 105 const SkRect* localRect,
106 const SkMatrix* localMatrix) SK_OVERRIDE; 106 const SkMatrix* localMatrix) override;
107 107
108 void onStencilPath(const GrPipelineBuilder&, 108 void onStencilPath(const GrPipelineBuilder&,
109 const GrPathProcessor*, 109 const GrPathProcessor*,
110 const GrPath*, 110 const GrPath*,
111 const GrScissorState&, 111 const GrScissorState&,
112 const GrStencilSettings&) SK_OVERRIDE; 112 const GrStencilSettings&) override;
113 void onDrawPath(const GrPathProcessor*, 113 void onDrawPath(const GrPathProcessor*,
114 const GrPath*, 114 const GrPath*,
115 const GrStencilSettings&, 115 const GrStencilSettings&,
116 const PipelineInfo&) SK_OVERRIDE; 116 const PipelineInfo&) override;
117 void onDrawPaths(const GrPathProcessor*, 117 void onDrawPaths(const GrPathProcessor*,
118 const GrPathRange*, 118 const GrPathRange*,
119 const void* indices, 119 const void* indices,
120 PathIndexType, 120 PathIndexType,
121 const float transformValues[], 121 const float transformValues[],
122 PathTransformType, 122 PathTransformType,
123 int count, 123 int count,
124 const GrStencilSettings&, 124 const GrStencilSettings&,
125 const PipelineInfo&) SK_OVERRIDE; 125 const PipelineInfo&) override;
126 void onClear(const SkIRect* rect, 126 void onClear(const SkIRect* rect,
127 GrColor color, 127 GrColor color,
128 bool canIgnoreRect, 128 bool canIgnoreRect,
129 GrRenderTarget* renderTarget) SK_OVERRIDE; 129 GrRenderTarget* renderTarget) override;
130 bool onCopySurface(GrSurface* dst, 130 bool onCopySurface(GrSurface* dst,
131 GrSurface* src, 131 GrSurface* src,
132 const SkIRect& srcRect, 132 const SkIRect& srcRect,
133 const SkIPoint& dstPoint) SK_OVERRIDE; 133 const SkIPoint& dstPoint) override;
134 134
135 // Attempts to concat instances from info onto the previous draw. info must represent an 135 // Attempts to concat instances from info onto the previous draw. info must represent an
136 // instanced draw. The caller must have already recorded a new draw state an d clip if necessary. 136 // instanced draw. The caller must have already recorded a new draw state an d clip if necessary.
137 int concatInstancedDraw(const DrawInfo&); 137 int concatInstancedDraw(const DrawInfo&);
138 138
139 // We lazily record clip changes in order to skip clips that have no effect. 139 // We lazily record clip changes in order to skip clips that have no effect.
140 void recordClipIfNecessary(); 140 void recordClipIfNecessary();
141 // Records any trace markers for a command 141 // Records any trace markers for a command
142 void recordTraceMarkersIfNecessary(GrTargetCommands::Cmd*); 142 void recordTraceMarkersIfNecessary(GrTargetCommands::Cmd*);
143 SkString getCmdString(int index) const { 143 SkString getCmdString(int index) const {
144 SkASSERT(index < fGpuCmdMarkers.count()); 144 SkASSERT(index < fGpuCmdMarkers.count());
145 return fGpuCmdMarkers[index].toString(); 145 return fGpuCmdMarkers[index].toString();
146 } 146 }
147 bool isIssued(uint32_t drawID) SK_OVERRIDE { return drawID != fDrawID; } 147 bool isIssued(uint32_t drawID) override { return drawID != fDrawID; }
148 148
149 // TODO: Use a single allocator for commands and records 149 // TODO: Use a single allocator for commands and records
150 enum { 150 enum {
151 kPathIdxBufferMinReserve = 2 * 64, // 64 uint16_t's 151 kPathIdxBufferMinReserve = 2 * 64, // 64 uint16_t's
152 kPathXformBufferMinReserve = 2 * 64, // 64 two-float transforms 152 kPathXformBufferMinReserve = 2 * 64, // 64 two-float transforms
153 }; 153 };
154 154
155 GrTargetCommands fCommands; 155 GrTargetCommands fCommands;
156 SkTArray<GrTraceMarkerSet, false> fGpuCmdMarkers; 156 SkTArray<GrTraceMarkerSet, false> fGpuCmdMarkers;
157 SkChunkAlloc fPathIndexBuffer; 157 SkChunkAlloc fPathIndexBuffer;
158 SkChunkAlloc fPathTransformBuffer; 158 SkChunkAlloc fPathTransformBuffer;
159 uint32_t fDrawID; 159 uint32_t fDrawID;
160 160
161 typedef GrFlushToGpuDrawTarget INHERITED; 161 typedef GrFlushToGpuDrawTarget INHERITED;
162 }; 162 };
163 163
164 #endif 164 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrGpu.h ('k') | src/gpu/GrInOrderDrawBuffer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698