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

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

Issue 737723003: drawinfo carries bufferinfo (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: feedback inc Created 6 years, 1 month 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.cpp ('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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 struct Cmd : ::SkNoncopyable { 110 struct Cmd : ::SkNoncopyable {
111 Cmd(uint8_t type) : fType(type) {} 111 Cmd(uint8_t type) : fType(type) {}
112 virtual ~Cmd() {} 112 virtual ~Cmd() {}
113 113
114 virtual void execute(GrInOrderDrawBuffer*, const GrOptDrawState*) = 0; 114 virtual void execute(GrInOrderDrawBuffer*, const GrOptDrawState*) = 0;
115 115
116 uint8_t fType; 116 uint8_t fType;
117 }; 117 };
118 118
119 struct Draw : public Cmd { 119 struct Draw : public Cmd {
120 Draw(const DrawInfo& info, 120 Draw(const DrawInfo& info, const ScissorState& scissorState)
121 const ScissorState& scissorState,
122 const GrVertexBuffer* vb,
123 const GrIndexBuffer* ib)
124 : Cmd(kDraw_Cmd) 121 : Cmd(kDraw_Cmd)
125 , fInfo(info) 122 , fInfo(info)
126 , fScissorState(scissorState) 123 , fScissorState(scissorState){}
127 , fVertexBuffer(vb)
128 , fIndexBuffer(ib) {}
129
130 const GrVertexBuffer* vertexBuffer() const { return fVertexBuffer.get(); }
131 const GrIndexBuffer* indexBuffer() const { return fIndexBuffer.get(); }
132 124
133 virtual void execute(GrInOrderDrawBuffer*, const GrOptDrawState*); 125 virtual void execute(GrInOrderDrawBuffer*, const GrOptDrawState*);
134 126
135 DrawInfo fInfo; 127 DrawInfo fInfo;
136 ScissorState fScissorState; 128 ScissorState fScissorState;
137
138 private:
139 GrPendingIOResource<const GrVertexBuffer, kRead_GrIOType> fVertexBuff er;
140 GrPendingIOResource<const GrIndexBuffer, kRead_GrIOType> fIndexBuffe r;
141 }; 129 };
142 130
143 struct StencilPath : public Cmd { 131 struct StencilPath : public Cmd {
144 StencilPath(const GrPath* path) : Cmd(kStencilPath_Cmd), fPath(path) {} 132 StencilPath(const GrPath* path) : Cmd(kStencilPath_Cmd), fPath(path) {}
145 133
146 const GrPath* path() const { return fPath.get(); } 134 const GrPath* path() const { return fPath.get(); }
147 135
148 virtual void execute(GrInOrderDrawBuffer*, const GrOptDrawState*); 136 virtual void execute(GrInOrderDrawBuffer*, const GrOptDrawState*);
149 137
150 ScissorState fScissorState; 138 ScissorState fScissorState;
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 int count, 260 int count,
273 const float transforms[], 261 const float transforms[],
274 PathTransformType, 262 PathTransformType,
275 const GrClipMaskManager::ScissorState&, 263 const GrClipMaskManager::ScissorState&,
276 const GrStencilSettings&, 264 const GrStencilSettings&,
277 const GrDeviceCoordTexture*) SK_OVERRIDE; 265 const GrDeviceCoordTexture*) SK_OVERRIDE;
278 virtual void onClear(const SkIRect* rect, 266 virtual void onClear(const SkIRect* rect,
279 GrColor color, 267 GrColor color,
280 bool canIgnoreRect, 268 bool canIgnoreRect,
281 GrRenderTarget* renderTarget) SK_OVERRIDE; 269 GrRenderTarget* renderTarget) SK_OVERRIDE;
270 virtual void setDrawBuffers(DrawInfo*) SK_OVERRIDE;
282 271
283 virtual bool onReserveVertexSpace(size_t vertexSize, 272 virtual bool onReserveVertexSpace(size_t vertexSize,
284 int vertexCount, 273 int vertexCount,
285 void** vertices) SK_OVERRIDE; 274 void** vertices) SK_OVERRIDE;
286 virtual bool onReserveIndexSpace(int indexCount, 275 virtual bool onReserveIndexSpace(int indexCount,
287 void** indices) SK_OVERRIDE; 276 void** indices) SK_OVERRIDE;
288 virtual void releaseReservedVertexSpace() SK_OVERRIDE; 277 virtual void releaseReservedVertexSpace() SK_OVERRIDE;
289 virtual void releaseReservedIndexSpace() SK_OVERRIDE; 278 virtual void releaseReservedIndexSpace() SK_OVERRIDE;
290 virtual void geometrySourceWillPush() SK_OVERRIDE; 279 virtual void geometrySourceWillPush() SK_OVERRIDE;
291 virtual void geometrySourceWillPop(const GeometrySrcState& restoredState) SK _OVERRIDE; 280 virtual void geometrySourceWillPop(const GeometrySrcState& restoredState) SK _OVERRIDE;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 typedef SkSTArray<kGeoPoolStatePreAllocCnt, GeometryPoolState> GeoPoolStateS tack; 329 typedef SkSTArray<kGeoPoolStatePreAllocCnt, GeometryPoolState> GeoPoolStateS tack;
341 330
342 GeoPoolStateStack fGeoPoolStateStack; 331 GeoPoolStateStack fGeoPoolStateStack;
343 bool fFlushing; 332 bool fFlushing;
344 uint32_t fDrawID; 333 uint32_t fDrawID;
345 334
346 typedef GrClipTarget INHERITED; 335 typedef GrClipTarget INHERITED;
347 }; 336 };
348 337
349 #endif 338 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrGpu.cpp ('k') | src/gpu/GrInOrderDrawBuffer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698