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

Side by Side Diff: src/gpu/GrCommandBuilder.cpp

Issue 1293563003: Put clear and discard into GrBatch. (Closed) Base URL: https://skia.googlesource.com/skia.git@protectedprepare
Patch Set: tiny 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/GrCommandBuilder.h ('k') | src/gpu/GrDrawTarget.h » ('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 #include "GrCommandBuilder.h" 8 #include "GrCommandBuilder.h"
9 9
10 #include "GrInOrderCommandBuilder.h" 10 #include "GrInOrderCommandBuilder.h"
11 #include "GrReorderCommandBuilder.h" 11 #include "GrReorderCommandBuilder.h"
12 12
13 GrCommandBuilder* GrCommandBuilder::Create(GrGpu* gpu, bool reorder) { 13 GrCommandBuilder* GrCommandBuilder::Create(GrGpu* gpu, bool reorder) {
14 if (reorder) { 14 if (reorder) {
15 return SkNEW(GrReorderCommandBuilder); 15 return SkNEW(GrReorderCommandBuilder);
16 } else { 16 } else {
17 return SkNEW(GrInOrderCommandBuilder); 17 return SkNEW(GrInOrderCommandBuilder);
18 } 18 }
19 } 19 }
20 20
21 GrTargetCommands::Cmd* GrCommandBuilder::recordClear(const SkIRect& rect,
22 GrColor color,
23 GrRenderTarget* renderTarge t) {
24 SkASSERT(renderTarget);
25 SkASSERT(rect.fLeft <= rect.fRight && rect.fTop <= rect.fBottom);
26
27 Clear* clr = GrNEW_APPEND_TO_RECORDER(*this->cmdBuffer(), Clear, (renderTarg et));
28 GrColorIsPMAssert(color);
29 clr->fColor = color;
30 clr->fRect = rect;
31 GrBATCH_INFO("Recording clear %d\n", clr->uniqueID());
32 return clr;
33 }
34
35 GrTargetCommands::Cmd* GrCommandBuilder::recordClearStencilClip(const SkIRect& r ect, 21 GrTargetCommands::Cmd* GrCommandBuilder::recordClearStencilClip(const SkIRect& r ect,
36 bool insideClip, 22 bool insideClip,
37 GrRenderTarget* renderTarget) { 23 GrRenderTarget* renderTarget) {
38 SkASSERT(renderTarget); 24 SkASSERT(renderTarget);
39 25
40 ClearStencilClip* clr = GrNEW_APPEND_TO_RECORDER(*this->cmdBuffer(), 26 ClearStencilClip* clr = GrNEW_APPEND_TO_RECORDER(*this->cmdBuffer(),
41 ClearStencilClip, 27 ClearStencilClip,
42 (renderTarget)); 28 (renderTarget));
43 clr->fRect = rect; 29 clr->fRect = rect;
44 clr->fInsideClip = insideClip; 30 clr->fInsideClip = insideClip;
45 GrBATCH_INFO("Recording clear stencil clip %d\n", clr->uniqueID()); 31 GrBATCH_INFO("Recording clear stencil clip %d\n", clr->uniqueID());
46 return clr; 32 return clr;
47 } 33 }
48 34
49 GrTargetCommands::Cmd* GrCommandBuilder::recordDiscard(GrRenderTarget* renderTar get) {
50 SkASSERT(renderTarget);
51
52 Clear* clr = GrNEW_APPEND_TO_RECORDER(*this->cmdBuffer(), Clear, (renderTarg et));
53 clr->fColor = GrColor_ILLEGAL;
54 GrBATCH_INFO("Recording discard %d\n", clr->uniqueID());
55 return clr;
56 }
57
58 GrTargetCommands::Cmd* GrCommandBuilder::recordCopySurface(GrSurface* dst, 35 GrTargetCommands::Cmd* GrCommandBuilder::recordCopySurface(GrSurface* dst,
59 GrSurface* src, 36 GrSurface* src,
60 const SkIRect& srcRec t, 37 const SkIRect& srcRec t,
61 const SkIPoint& dstPo int) { 38 const SkIPoint& dstPo int) {
62 CopySurface* cs = GrNEW_APPEND_TO_RECORDER(*this->cmdBuffer(), CopySurface, (dst, src)); 39 CopySurface* cs = GrNEW_APPEND_TO_RECORDER(*this->cmdBuffer(), CopySurface, (dst, src));
63 cs->fSrcRect = srcRect; 40 cs->fSrcRect = srcRect;
64 cs->fDstPoint = dstPoint; 41 cs->fDstPoint = dstPoint;
65 GrBATCH_INFO("Recording copysurface %d\n", cs->uniqueID()); 42 GrBATCH_INFO("Recording copysurface %d\n", cs->uniqueID());
66 return cs; 43 return cs;
67 } 44 }
OLDNEW
« no previous file with comments | « src/gpu/GrCommandBuilder.h ('k') | src/gpu/GrDrawTarget.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698