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

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

Issue 362023002: Reduce integer divides in GrAllocator (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: iter getters Created 6 years, 5 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/GrDrawState.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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 DrawRecord* recordDraw(const DrawInfo&); 205 DrawRecord* recordDraw(const DrawInfo&);
206 StencilPath* recordStencilPath(); 206 StencilPath* recordStencilPath();
207 DrawPath* recordDrawPath(); 207 DrawPath* recordDrawPath();
208 DrawPaths* recordDrawPaths(); 208 DrawPaths* recordDrawPaths();
209 Clear* recordClear(); 209 Clear* recordClear();
210 CopySurface* recordCopySurface(); 210 CopySurface* recordCopySurface();
211 211
212 // TODO: Use a single allocator for commands and records 212 // TODO: Use a single allocator for commands and records
213 enum { 213 enum {
214 kCmdPreallocCnt = 32, 214 kCmdPreallocCnt = 32,
215 kDrawPreallocCnt = 8, 215 kDrawPreallocCnt = 16,
216 kStencilPathPreallocCnt = 8, 216 kStencilPathPreallocCnt = 8,
217 kDrawPathPreallocCnt = 8, 217 kDrawPathPreallocCnt = 8,
218 kDrawPathsPreallocCnt = 8, 218 kDrawPathsPreallocCnt = 8,
219 kStatePreallocCnt = 8, 219 kStatePreallocCnt = 8,
220 kClipPreallocCnt = 8, 220 kClipPreallocCnt = 8,
221 kClearPreallocCnt = 4, 221 kClearPreallocCnt = 8,
222 kGeoPoolStatePreAllocCnt = 4, 222 kGeoPoolStatePreAllocCnt = 4,
223 kCopySurfacePreallocCnt = 4, 223 kCopySurfacePreallocCnt = 4,
224 }; 224 };
225 225
226 SkSTArray<kCmdPreallocCnt, uint8_t, true> fCmds; 226 typedef GrTAllocator<DrawRecord> DrawAllocator;
227 typedef GrTAllocator<StencilPath> StencilPathAllocator ;
228 typedef GrTAllocator<DrawPath> DrawPathAllocator;
229 typedef GrTAllocator<DrawPaths> DrawPathsAllocator;
230 typedef GrTAllocator<GrDrawState::DeferredState> StateAllocator;
231 typedef GrTAllocator<Clear> ClearAllocator;
232 typedef GrTAllocator<CopySurface> CopySurfaceAllocator ;
233 typedef GrTAllocator<SkClipStack> ClipAllocator;
234 typedef GrTAllocator<SkIPoint> ClipOriginAllocator;
235
227 GrSTAllocator<kDrawPreallocCnt, DrawRecord> fDraws; 236 GrSTAllocator<kDrawPreallocCnt, DrawRecord> fDraws;
228 GrSTAllocator<kStencilPathPreallocCnt, StencilPath> fStencilP aths; 237 GrSTAllocator<kStencilPathPreallocCnt, StencilPath> fStencilP aths;
229 GrSTAllocator<kDrawPathPreallocCnt, DrawPath> fDrawPath ; 238 GrSTAllocator<kDrawPathPreallocCnt, DrawPath> fDrawPath ;
230 GrSTAllocator<kDrawPathsPreallocCnt, DrawPaths> fDrawPath s; 239 GrSTAllocator<kDrawPathsPreallocCnt, DrawPaths> fDrawPath s;
231 GrSTAllocator<kStatePreallocCnt, GrDrawState::DeferredState> fStates; 240 GrSTAllocator<kStatePreallocCnt, GrDrawState::DeferredState> fStates;
232 GrSTAllocator<kClearPreallocCnt, Clear> fClears; 241 GrSTAllocator<kClearPreallocCnt, Clear> fClears;
233 GrSTAllocator<kCopySurfacePreallocCnt, CopySurface> fCopySurf aces; 242 GrSTAllocator<kCopySurfacePreallocCnt, CopySurface> fCopySurf aces;
234 GrSTAllocator<kClipPreallocCnt, SkClipStack> fClips; 243 GrSTAllocator<kClipPreallocCnt, SkClipStack> fClips;
235 GrSTAllocator<kClipPreallocCnt, SkIPoint> fClipOrig ins; 244 GrSTAllocator<kClipPreallocCnt, SkIPoint> fClipOrig ins;
245
236 SkTArray<GrTraceMarkerSet, false> fGpuCmdMa rkers; 246 SkTArray<GrTraceMarkerSet, false> fGpuCmdMa rkers;
237 247
248 SkSTArray<kCmdPreallocCnt, uint8_t, true> fCmds;
249
238 GrDrawTarget* fDstGpu; 250 GrDrawTarget* fDstGpu;
239 251
240 bool fClipSet; 252 bool fClipSet;
241 253
242 enum ClipProxyState { 254 enum ClipProxyState {
243 kUnknown_ClipProxyState, 255 kUnknown_ClipProxyState,
244 kValid_ClipProxyState, 256 kValid_ClipProxyState,
245 kInvalid_ClipProxyState 257 kInvalid_ClipProxyState
246 }; 258 };
247 ClipProxyState fClipProxyState; 259 ClipProxyState fClipProxyState;
(...skipping 20 matching lines...) Expand all
268 280
269 void addToCmdBuffer(uint8_t cmd); 281 void addToCmdBuffer(uint8_t cmd);
270 282
271 bool fFlushing; 283 bool fFlushing;
272 uint32_t fDrawID; 284 uint32_t fDrawID;
273 285
274 typedef GrDrawTarget INHERITED; 286 typedef GrDrawTarget INHERITED;
275 }; 287 };
276 288
277 #endif 289 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrDrawState.h ('k') | src/gpu/GrInOrderDrawBuffer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698