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

Issue 2064833002: Implement DrawQuad StructTraits (Closed)

Created:
4 years, 6 months ago by Fady Samuel
Modified:
4 years, 6 months ago
CC:
chromium-reviews, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, cc-bugs_chromium.org, ben+mojo_chromium.org, darin (slow to review)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement DrawQuad StructTraits This CL partially implements DrawQuad and QuadList StructTraits. The code is a bit clumsy currently for a number of reasons: 1. QuadList does not provide O(1) random access and so we use an iterator. 2. DrawQuads are created inline within a QuadList, and so we must create them prior to invoking the ArrayTraits. BUG=611802 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/6ea4b2c26e6f2d2a021b10c965c3d06adb493898 Cr-Commit-Position: refs/heads/master@{#400345}

Patch Set 1 #

Patch Set 2 : Work #

Patch Set 3 : Compiles + Basic test #

Patch Set 4 : Cleanup + Extended test #

Patch Set 5 : Give QuadList an ArrayTraits Iterator #

Total comments: 2

Patch Set 6 : Added support for SurfaceDrawQuad #

Patch Set 7 : Converted to void* #

Patch Set 8 : RenderPassDrawQuad support #

Patch Set 9 : Cleanup #

Patch Set 10 : Got rid of reinterpret_cast #

Total comments: 8

Patch Set 11 : Addresse dcheng's comments #

Patch Set 12 : Added a TODO #

Total comments: 11

Patch Set 13 : Addressed Yuzhu's comments #

Total comments: 2

Patch Set 14 : Addressed Yuzhu's nit #

Patch Set 15 : Fixed compile error #

Patch Set 16 : Fix windows #

Patch Set 17 : Remove bad type converter test #

Total comments: 4

Patch Set 18 : Addressed dcheng's comments #

Patch Set 19 : Fix move constructor #

Unified diffs Side-by-side diffs Delta from patch set Stats (+829 lines, -107 lines) Patch
M cc/base/list_container.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +9 lines, -0 lines 0 comments Download
M cc/ipc/DEPS View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M cc/ipc/filter_operation_struct_traits.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M cc/ipc/quads.mojom View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +12 lines, -14 lines 0 comments Download
A cc/ipc/quads.typemap View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +15 lines, -0 lines 0 comments Download
A cc/ipc/quads_struct_traits.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +372 lines, -0 lines 0 comments Download
A cc/ipc/quads_struct_traits.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +298 lines, -0 lines 0 comments Download
M cc/ipc/struct_traits_unittest.cc View 1 2 3 4 5 6 7 8 3 chunks +76 lines, -0 lines 0 comments Download
M cc/ipc/traits_test_service.mojom View 1 2 chunks +4 lines, -0 lines 0 comments Download
M cc/ipc/typemaps.gni View 1 chunk +1 line, -0 lines 0 comments Download
M cc/quads/render_pass.h View 1 2 2 chunks +4 lines, -1 line 0 comments Download
M cc/quads/render_pass.cc View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M cc/quads/render_pass_draw_quad.h View 1 2 3 4 5 6 7 2 chunks +2 lines, -2 lines 0 comments Download
M cc/quads/texture_draw_quad.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -2 lines 0 comments Download
M cc/quads/tile_draw_quad.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -2 lines 0 comments Download
M components/bitmap_uploader/bitmap_uploader.cc View 1 2 chunks +2 lines, -4 lines 0 comments Download
M components/mus/public/cpp/surfaces/surfaces_type_converters.h View 1 2 chunks +0 lines, -10 lines 0 comments Download
M components/mus/public/cpp/surfaces/surfaces_type_converters.cc View 1 2 3 4 5 6 7 11 chunks +21 lines, -41 lines 0 comments Download
M components/mus/public/cpp/surfaces/tests/surface_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 7 chunks +3 lines, -31 lines 0 comments Download

Messages

Total messages: 67 (30 generated)
Fady Samuel
+yzshen@: Hi Yuzhu, this is still work in progress, but I'd appreciate some early feedback. ...
4 years, 6 months ago (2016-06-14 01:42:42 UTC) #3
yzshen1
https://codereview.chromium.org/2064833002/diff/80001/cc/ipc/quads_struct_traits.h File cc/ipc/quads_struct_traits.h (right): https://codereview.chromium.org/2064833002/diff/80001/cc/ipc/quads_struct_traits.h#newcode124 cc/ipc/quads_struct_traits.h:124: struct StructTraits<cc::mojom::SolidColorQuadState, uint8_t> { can this be struct StructTraits<cc::mojom::SolidColorQuadState, ...
4 years, 6 months ago (2016-06-14 16:55:57 UTC) #4
Fady Samuel
PTAL Yuzhu, Once you're happy I'll pass this along to ownerships Thanks! https://codereview.chromium.org/2064833002/diff/80001/cc/ipc/quads_struct_traits.h File cc/ipc/quads_struct_traits.h ...
4 years, 6 months ago (2016-06-14 21:56:49 UTC) #5
Fady Samuel
+ben@ once Yuzhu is happy +dcheng@ for cc/ipc (tsepez@ is OOO) +enne@ for other cc ...
4 years, 6 months ago (2016-06-14 22:49:05 UTC) #8
dcheng
https://codereview.chromium.org/2064833002/diff/180001/cc/base/list_container.h File cc/base/list_container.h (right): https://codereview.chromium.org/2064833002/diff/180001/cc/base/list_container.h#newcode151 cc/base/list_container.h:151: ListContainer<BaseElementType>& operator=( <BaseElementType> shouldn't be needed here. https://codereview.chromium.org/2064833002/diff/180001/cc/ipc/quads.mojom File ...
4 years, 6 months ago (2016-06-15 12:27:20 UTC) #9
Fady Samuel
PTAL Daniel! PTAL Yuzhu, Enne, Ben! Thanks! BTW, this serialization/deserialization code definitely needs more unit ...
4 years, 6 months ago (2016-06-15 14:46:25 UTC) #11
yzshen1
https://codereview.chromium.org/2064833002/diff/220001/cc/ipc/quads.typemap File cc/ipc/quads.typemap (right): https://codereview.chromium.org/2064833002/diff/220001/cc/ipc/quads.typemap#newcode15 cc/ipc/quads.typemap:15: Unnecessary empty line. https://codereview.chromium.org/2064833002/diff/220001/cc/ipc/quads_struct_traits.cc File cc/ipc/quads_struct_traits.cc (right): https://codereview.chromium.org/2064833002/diff/220001/cc/ipc/quads_struct_traits.cc#newcode11 cc/ipc/quads_struct_traits.cc:11: ...
4 years, 6 months ago (2016-06-15 17:12:13 UTC) #12
yzshen1
https://codereview.chromium.org/2064833002/diff/220001/cc/ipc/quads_struct_traits.cc File cc/ipc/quads_struct_traits.cc (right): https://codereview.chromium.org/2064833002/diff/220001/cc/ipc/quads_struct_traits.cc#newcode258 cc/ipc/quads_struct_traits.cc:258: } On 2016/06/15 17:12:13, yzshen1 wrote: > It should ...
4 years, 6 months ago (2016-06-15 17:15:07 UTC) #13
Fady Samuel
PTAL Yuzhu! I believe I've addressed all your comments! https://codereview.chromium.org/2064833002/diff/220001/cc/ipc/quads.typemap File cc/ipc/quads.typemap (right): https://codereview.chromium.org/2064833002/diff/220001/cc/ipc/quads.typemap#newcode15 cc/ipc/quads.typemap:15: ...
4 years, 6 months ago (2016-06-15 19:16:00 UTC) #14
yzshen1
LGTM https://codereview.chromium.org/2064833002/diff/240001/cc/ipc/quads_struct_traits.h File cc/ipc/quads_struct_traits.h (right): https://codereview.chromium.org/2064833002/diff/240001/cc/ipc/quads_struct_traits.h#newcode155 cc/ipc/quads_struct_traits.h:155: // SolidColorDrawQuad. If it is, then this should ...
4 years, 6 months ago (2016-06-15 19:47:51 UTC) #15
Fady Samuel
Thanks Yuzhu! :D PTAL: Ben: components/mus Daniel: ipc signoff Enne: cc changes https://codereview.chromium.org/2064833002/diff/240001/cc/ipc/quads_struct_traits.h File cc/ipc/quads_struct_traits.h ...
4 years, 6 months ago (2016-06-15 19:52:41 UTC) #16
Ben Goodger (Google)
On 2016/06/15 19:52:41, Fady Samuel wrote: > Thanks Yuzhu! :D PTAL: > > Ben: components/mus ...
4 years, 6 months ago (2016-06-15 19:53:12 UTC) #17
enne (OOO)
lgtm
4 years, 6 months ago (2016-06-15 20:59:07 UTC) #18
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2064833002/260001
4 years, 6 months ago (2016-06-15 21:22:55 UTC) #21
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-generic_chromium_compile_only_ng/builds/153461)
4 years, 6 months ago (2016-06-15 21:38:44 UTC) #23
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2064833002/280001
4 years, 6 months ago (2016-06-15 21:57:40 UTC) #25
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/230334)
4 years, 6 months ago (2016-06-15 22:40:10 UTC) #27
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2064833002/300001
4 years, 6 months ago (2016-06-16 00:30:30 UTC) #29
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_gn_rel/builds/128067)
4 years, 6 months ago (2016-06-16 01:25:23 UTC) #31
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2064833002/300001
4 years, 6 months ago (2016-06-16 01:29:11 UTC) #33
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_gn_rel/builds/128102)
4 years, 6 months ago (2016-06-16 02:03:16 UTC) #35
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2064833002/300001
4 years, 6 months ago (2016-06-16 02:06:49 UTC) #37
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/247330)
4 years, 6 months ago (2016-06-16 02:35:32 UTC) #39
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2064833002/320001
4 years, 6 months ago (2016-06-16 02:53:07 UTC) #41
commit-bot: I haz the power
Dry run: Exceeded global retry quota
4 years, 6 months ago (2016-06-16 03:57:41 UTC) #43
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2064833002/320001
4 years, 6 months ago (2016-06-16 10:53:19 UTC) #45
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 6 months ago (2016-06-16 11:36:49 UTC) #47
dcheng
I still think this patch is a bit too clever, but LGTM for now to ...
4 years, 6 months ago (2016-06-16 20:57:42 UTC) #48
Fady Samuel
For what it's worth I think Yuzhu and I are in agreement with you, Daniel. ...
4 years, 6 months ago (2016-06-16 22:56:29 UTC) #49
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2064833002/340001
4 years, 6 months ago (2016-06-16 22:57:26 UTC) #52
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/87188)
4 years, 6 months ago (2016-06-17 00:09:20 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2064833002/340001
4 years, 6 months ago (2016-06-17 02:06:53 UTC) #56
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2064833002/360001
4 years, 6 months ago (2016-06-17 02:25:05 UTC) #59
commit-bot: I haz the power
Try jobs failed on following builders: chromeos_x86-generic_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_x86-generic_chromium_compile_only_ng/builds/154419)
4 years, 6 months ago (2016-06-17 02:40:38 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2064833002/360001
4 years, 6 months ago (2016-06-17 02:43:20 UTC) #63
commit-bot: I haz the power
Committed patchset #19 (id:360001)
4 years, 6 months ago (2016-06-17 03:40:26 UTC) #65
commit-bot: I haz the power
4 years, 6 months ago (2016-06-17 03:42:58 UTC) #67
Message was sent while issue was closed.
Patchset 19 (id:??) landed as
https://crrev.com/6ea4b2c26e6f2d2a021b10c965c3d06adb493898
Cr-Commit-Position: refs/heads/master@{#400345}

Powered by Google App Engine
This is Rietveld 408576698