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

Issue 628453002: Create a single command buffer for GrInOrderDrawBuffer (Closed)

Created:
6 years, 2 months ago by Chris Dalton
Modified:
6 years, 2 months ago
Reviewers:
bsalomon, mtklein, reed1
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Project:
skia
Visibility:
Public.

Description

Adds a GrTRecorder class that GrInOrderDrawBuffer uses to allocate all its commands interleaved in contiguous memory. GrTRecorder also supports extra data associated with objects, so we can store arrays inline without having to call malloc(). Committed: https://skia.googlesource.com/skia/+/360b6801cfd90485891d709e44cf395d527ba69e Committed: https://skia.googlesource.com/skia/+/6819df36446f6fdcbd17d83a72a03de46e6d0d2d

Patch Set 1 #

Total comments: 20

Patch Set 2 : #

Total comments: 13

Patch Set 3 : #

Total comments: 4

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : Fix winodws build #

Patch Set 7 : Fix issue caught by windows build -- Cmd should be noncopyable #

Patch Set 8 : Fix meaningless windows warning #

Patch Set 9 : Make copy ctor actually a copy ctor #

Patch Set 10 : Remove 0-length arrays #

Patch Set 11 : One more issue with msvc in the GrTRecorderTest.cpp #

Patch Set 12 : Formatting #

Total comments: 2

Patch Set 13 : Single malloc for BemBlock #

Total comments: 2

Patch Set 14 : Comment #

Patch Set 15 : #

Patch Set 16 : #

Total comments: 1

Patch Set 17 : New windows warning #

Patch Set 18 : Memleak #

Total comments: 2

Patch Set 19 : SkNoncopyable, formatting #

Patch Set 20 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+723 lines, -289 lines) Patch
M gyp/gpu.gypi View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M gyp/tests.gypi View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M src/gpu/GrInOrderDrawBuffer.h View 1 2 3 4 5 6 7 8 9 8 chunks +78 lines, -74 lines 0 comments Download
M src/gpu/GrInOrderDrawBuffer.cpp View 1 2 3 4 19 14 chunks +138 lines, -215 lines 0 comments Download
A src/gpu/GrTRecorder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +260 lines, -0 lines 0 comments Download
A tests/GrTRecorderTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +245 lines, -0 lines 0 comments Download

Messages

Total messages: 59 (15 generated)
Chris Dalton
6 years, 2 months ago (2014-10-02 23:52:04 UTC) #2
bsalomon
Adding all the Mikes who have more experience with these types of patterns than I ...
6 years, 2 months ago (2014-10-03 15:04:45 UTC) #4
Chris Dalton
https://codereview.chromium.org/628453002/diff/1/src/gpu/GrCmdBuffer.h File src/gpu/GrCmdBuffer.h (right): https://codereview.chromium.org/628453002/diff/1/src/gpu/GrCmdBuffer.h#newcode26 src/gpu/GrCmdBuffer.h:26: template<typename TAlign = long double> class GrCmdBuffer : SkNoncopyable ...
6 years, 2 months ago (2014-10-03 16:16:24 UTC) #5
bsalomon
https://codereview.chromium.org/628453002/diff/1/src/gpu/GrCmdBuffer.h File src/gpu/GrCmdBuffer.h (right): https://codereview.chromium.org/628453002/diff/1/src/gpu/GrCmdBuffer.h#newcode26 src/gpu/GrCmdBuffer.h:26: template<typename TAlign = long double> class GrCmdBuffer : SkNoncopyable ...
6 years, 2 months ago (2014-10-03 18:43:04 UTC) #6
Chris Dalton
https://codereview.chromium.org/628453002/diff/1/src/gpu/GrCmdBuffer.h File src/gpu/GrCmdBuffer.h (right): https://codereview.chromium.org/628453002/diff/1/src/gpu/GrCmdBuffer.h#newcode26 src/gpu/GrCmdBuffer.h:26: template<typename TAlign = long double> class GrCmdBuffer : SkNoncopyable ...
6 years, 2 months ago (2014-10-03 19:38:40 UTC) #7
Chris Dalton
GrTBaseList was the best name I could come up with. I'm open to trying to ...
6 years, 2 months ago (2014-10-08 19:24:37 UTC) #8
Chris Dalton
https://codereview.chromium.org/628453002/diff/1/src/gpu/GrCmdBuffer.h File src/gpu/GrCmdBuffer.h (right): https://codereview.chromium.org/628453002/diff/1/src/gpu/GrCmdBuffer.h#newcode26 src/gpu/GrCmdBuffer.h:26: template<typename TAlign = long double> class GrCmdBuffer : SkNoncopyable ...
6 years, 2 months ago (2014-10-08 19:29:02 UTC) #9
bsalomon
I'm OK with keeping fCmd now that it's on the GrIODB's base class and not ...
6 years, 2 months ago (2014-10-08 19:51:45 UTC) #10
Chris Dalton
https://codereview.chromium.org/628453002/diff/20001/src/gpu/GrInOrderDrawBuffer.cpp File src/gpu/GrInOrderDrawBuffer.cpp (right): https://codereview.chromium.org/628453002/diff/20001/src/gpu/GrInOrderDrawBuffer.cpp#newcode399 src/gpu/GrInOrderDrawBuffer.cpp:399: int size = sizeof(DrawPaths) + indicesSize + transformsSize; On ...
6 years, 2 months ago (2014-10-09 00:07:00 UTC) #11
bsalomon
I realized I'm not crazy about the word "List" because this doesn't allow random insertions/deletions. ...
6 years, 2 months ago (2014-10-09 01:31:14 UTC) #12
Chris Dalton
Renamed to GrTRecorder
6 years, 2 months ago (2014-10-09 17:42:24 UTC) #13
bsalomon
can stdio go away?
6 years, 2 months ago (2014-10-09 18:37:53 UTC) #14
Chris Dalton
On 2014/10/09 18:37:53, bsalomon wrote: > can stdio go away? Oops sorry, didn't catch your ...
6 years, 2 months ago (2014-10-09 19:31:10 UTC) #15
Chris Dalton
I'm not sure what key combination I accidentally pressed but it published my message mid-sentence ...
6 years, 2 months ago (2014-10-09 19:32:22 UTC) #16
bsalomon
lgtm
6 years, 2 months ago (2014-10-09 19:55:11 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/628453002/170001
6 years, 2 months ago (2014-10-09 20:00:03 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: Build-Win-VS2013-x86-Debug-Trybot on tryserver.skia (http://108.170.220.76:10117/builders/Build-Win-VS2013-x86-Debug-Trybot/builds/2176)
6 years, 2 months ago (2014-10-09 20:42:12 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/628453002/310001
6 years, 2 months ago (2014-10-09 20:48:19 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/628453002/400001
6 years, 2 months ago (2014-10-09 21:33:32 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/628453002/500001
6 years, 2 months ago (2014-10-09 22:10:43 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: Build-Win-VS2013-x86-Debug-Trybot on tryserver.skia (http://108.170.220.76:10117/builders/Build-Win-VS2013-x86-Debug-Trybot/builds/2184)
6 years, 2 months ago (2014-10-09 22:42:20 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/628453002/590001
6 years, 2 months ago (2014-10-10 05:05:28 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: Build-Win-VS2013-x86-Debug-Trybot on tryserver.skia (http://108.170.220.76:10117/builders/Build-Win-VS2013-x86-Debug-Trybot/builds/2190)
6 years, 2 months ago (2014-10-10 05:20:41 UTC) #33
Chris Dalton
Removed 0-length arrays and instead added logic for GrTRecorder to handle extra data. This change ...
6 years, 2 months ago (2014-10-10 20:47:43 UTC) #34
bsalomon
https://codereview.chromium.org/628453002/diff/850001/src/gpu/GrTRecorder.h File src/gpu/GrTRecorder.h (right): https://codereview.chromium.org/628453002/diff/850001/src/gpu/GrTRecorder.h#newcode104 src/gpu/GrTRecorder.h:104: MemBlock(int length) : fLength(length), fBack(0), fBuffer(fLength) {} I didn't ...
6 years, 2 months ago (2014-10-11 11:32:49 UTC) #35
Chris Dalton
https://codereview.chromium.org/628453002/diff/850001/src/gpu/GrTRecorder.h File src/gpu/GrTRecorder.h (right): https://codereview.chromium.org/628453002/diff/850001/src/gpu/GrTRecorder.h#newcode104 src/gpu/GrTRecorder.h:104: MemBlock(int length) : fLength(length), fBack(0), fBuffer(fLength) {} On 2014/10/11 ...
6 years, 2 months ago (2014-10-13 18:27:46 UTC) #36
bsalomon
lgtm https://codereview.chromium.org/628453002/diff/990001/src/gpu/GrTRecorder.h File src/gpu/GrTRecorder.h (right): https://codereview.chromium.org/628453002/diff/990001/src/gpu/GrTRecorder.h#newcode207 src/gpu/GrTRecorder.h:207: iter->~TBase(); maybe the class comment should document the ...
6 years, 2 months ago (2014-10-13 18:33:24 UTC) #37
Chris Dalton
https://codereview.chromium.org/628453002/diff/990001/src/gpu/GrTRecorder.h File src/gpu/GrTRecorder.h (right): https://codereview.chromium.org/628453002/diff/990001/src/gpu/GrTRecorder.h#newcode207 src/gpu/GrTRecorder.h:207: iter->~TBase(); On 2014/10/13 18:33:24, bsalomon wrote: > maybe the ...
6 years, 2 months ago (2014-10-13 18:40:18 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/628453002/1050001
6 years, 2 months ago (2014-10-13 18:40:58 UTC) #40
commit-bot: I haz the power
Committed patchset #14 (id:1050001) as 47c844aaba81e5a29c773b660e1d6062c766d253
6 years, 2 months ago (2014-10-13 19:43:16 UTC) #41
mtklein
A revert of this CL (patchset #14 id:1050001) has been created in https://codereview.chromium.org/652843002/ by mtklein@google.com. ...
6 years, 2 months ago (2014-10-13 20:59:26 UTC) #42
Chris Dalton
https://codereview.chromium.org/628453002/diff/1210001/tests/GrTRecorderTest.cpp File tests/GrTRecorderTest.cpp (right): https://codereview.chromium.org/628453002/diff/1210001/tests/GrTRecorderTest.cpp#newcode154 tests/GrTRecorderTest.cpp:154: data[i] = ValueAt(i); I still don't understand this fully, ...
6 years, 2 months ago (2014-10-13 23:17:53 UTC) #43
bsalomon
On 2014/10/13 23:17:53, Chris Dalton wrote: > https://codereview.chromium.org/628453002/diff/1210001/tests/GrTRecorderTest.cpp > File tests/GrTRecorderTest.cpp (right): > > https://codereview.chromium.org/628453002/diff/1210001/tests/GrTRecorderTest.cpp#newcode154 ...
6 years, 2 months ago (2014-10-14 14:01:15 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/628453002/1210001
6 years, 2 months ago (2014-10-14 17:05:23 UTC) #46
commit-bot: I haz the power
Try jobs failed on following builders: Build-Win-VS2013-x86-Debug-Trybot on client.skia.compile (http://build.chromium.org/p/client.skia.compile/builders/Build-Win-VS2013-x86-Debug-Trybot/builds/36)
6 years, 2 months ago (2014-10-14 17:12:02 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/628453002/1240001
6 years, 2 months ago (2014-10-14 18:46:59 UTC) #50
commit-bot: I haz the power
Committed patchset #17 (id:1240001) as 360b6801cfd90485891d709e44cf395d527ba69e
6 years, 2 months ago (2014-10-14 18:53:11 UTC) #51
mtklein
A revert of this CL (patchset #17 id:1240001) has been created in https://codereview.chromium.org/654863003/ by mtklein@google.com. ...
6 years, 2 months ago (2014-10-14 21:28:10 UTC) #52
Chris Dalton
And the neverending patch continues .. Sorry, I made a rookie mistake and introduced a ...
6 years, 2 months ago (2014-10-14 22:31:57 UTC) #53
mtklein
On 2014/10/14 22:31:57, Chris Dalton wrote: > And the neverending patch continues .. > > ...
6 years, 2 months ago (2014-10-14 23:05:34 UTC) #54
bsalomon
https://codereview.chromium.org/628453002/diff/1260001/src/gpu/GrTRecorder.h File src/gpu/GrTRecorder.h (right): https://codereview.chromium.org/628453002/diff/1260001/src/gpu/GrTRecorder.h#newcode127 src/gpu/GrTRecorder.h:127: TAlign& operator [](int i) { can you group this ...
6 years, 2 months ago (2014-10-15 18:38:06 UTC) #55
Chris Dalton
https://codereview.chromium.org/628453002/diff/1260001/src/gpu/GrTRecorder.h File src/gpu/GrTRecorder.h (right): https://codereview.chromium.org/628453002/diff/1260001/src/gpu/GrTRecorder.h#newcode127 src/gpu/GrTRecorder.h:127: TAlign& operator [](int i) { On 2014/10/15 18:38:06, bsalomon ...
6 years, 2 months ago (2014-10-15 20:10:13 UTC) #56
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/628453002/1300001
6 years, 2 months ago (2014-10-15 20:10:33 UTC) #58
commit-bot: I haz the power
6 years, 2 months ago (2014-10-15 20:43:59 UTC) #59
Message was sent while issue was closed.
Committed patchset #20 (id:1300001) as 6819df36446f6fdcbd17d83a72a03de46e6d0d2d

Powered by Google App Engine
This is Rietveld 408576698