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

Issue 595593002: Splitting of layers for correct intersections (Closed)

Created:
6 years, 3 months ago by awoloszyn
Modified:
3 years, 7 months ago
CC:
cc-bugs_chromium.org, chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Splitting of layers for correct intersections Sorting 3d-sorted layers and rendering them in that order causes issues when layers intersect. Instead place 3d-sorted layers in a bsp tree and fragment any intersecting layers into non-rectangular quads. We can then render the fragments in the correct sorted order regardless of intersections. BUG=455918, 159225, 132122, 230833 Committed: https://crrev.com/3d8eb1d841ec1ea36906d351bc65af4d7d27718a Cr-Commit-Position: refs/heads/master@{#320276}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Updates #

Patch Set 3 : Fixes to cover the rest of the types of quads more effectively #

Patch Set 4 : Rebase #

Patch Set 5 : Fixes from issues introduced by the rebase, added tests for video_quads. #

Total comments: 43

Patch Set 6 : Responded to most comments. #

Patch Set 7 : Reworked pixeltests and removed default params. #

Patch Set 8 : Added comment to test. #

Total comments: 62

Patch Set 9 : #

Total comments: 11

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : Rebase #

Patch Set 13 : Fixed minor compile issues #

Total comments: 4

Patch Set 14 : #

Total comments: 4

Patch Set 15 : #

Patch Set 16 : Fix windows build. #

Patch Set 17 : Update to calm down the windows testers. #

Total comments: 1

Patch Set 18 : Fixing both g++ errors and static initializers. #

Patch Set 19 : Fixed removed file in gn file #

Patch Set 20 : Added missing image files. #

Patch Set 21 : Removed static initializers entirely. #

Patch Set 22 : Removed the static that was only used in ony place anyway #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+1678 lines, -1737 lines) Patch
M cc/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +4 lines, -3 lines 0 comments Download
M cc/cc.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +4 lines, -2 lines 0 comments Download
M cc/cc_tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +0 lines, -1 line 0 comments Download
M cc/output/bsp_tree.cc View 1 2 3 21 1 chunk +1 line, -2 lines 0 comments Download
M cc/output/bsp_walk_action.h View 1 2 21 1 chunk +16 lines, -0 lines 0 comments Download
M cc/output/bsp_walk_action.cc View 1 2 3 4 5 6 7 8 21 1 chunk +24 lines, -2 lines 0 comments Download
M cc/output/direct_renderer.h View 1 2 3 4 5 6 7 8 9 21 4 chunks +21 lines, -3 lines 0 comments Download
M cc/output/direct_renderer.cc View 1 2 3 4 5 6 7 8 9 10 11 21 4 chunks +90 lines, -15 lines 1 comment Download
A cc/output/dynamic_geometry_binding.h View 1 2 3 4 5 6 7 8 21 1 chunk +30 lines, -0 lines 0 comments Download
A cc/output/dynamic_geometry_binding.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 21 1 chunk +67 lines, -0 lines 0 comments Download
M cc/output/geometry_binding.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 21 1 chunk +42 lines, -20 lines 0 comments Download
M cc/output/geometry_binding.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 21 2 chunks +55 lines, -72 lines 0 comments Download
M cc/output/gl_renderer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 10 chunks +55 lines, -23 lines 0 comments Download
M cc/output/gl_renderer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 41 chunks +431 lines, -82 lines 0 comments Download
M cc/output/overlay_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +7 lines, -4 lines 0 comments Download
M cc/output/renderer_pixeltest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 12 chunks +558 lines, -254 lines 0 comments Download
M cc/output/software_renderer.h View 1 2 3 4 5 6 21 1 chunk +4 lines, -1 line 0 comments Download
M cc/output/software_renderer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +34 lines, -2 lines 0 comments Download
A cc/output/static_geometry_binding.h View 1 2 3 4 5 21 1 chunk +33 lines, -0 lines 0 comments Download
A cc/output/static_geometry_binding.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 21 1 chunk +72 lines, -0 lines 0 comments Download
M cc/quads/draw_polygon.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +5 lines, -6 lines 0 comments Download
M cc/quads/draw_polygon.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 9 chunks +22 lines, -11 lines 1 comment Download
M cc/quads/draw_quad.cc View 1 2 3 4 5 21 1 chunk +1 line, -3 lines 0 comments Download
M cc/resources/layer_quad.h View 1 2 21 3 chunks +4 lines, -1 line 0 comments Download
M cc/resources/layer_quad.cc View 1 2 21 3 chunks +57 lines, -14 lines 0 comments Download
M cc/test/data/anti_aliasing.png View 1 2 18 19 21 Binary file 0 comments Download
M cc/test/data/background_filter_blur_off_axis.png View 1 2 18 19 21 Binary file 0 comments Download
A cc/test/data/intersecting_blue_green.png View 1 2 3 4 5 6 7 8 9 10 11 18 19 21 Binary file 0 comments Download
A cc/test/data/intersecting_blue_green_squares.png View 1 2 3 4 5 6 7 8 9 10 11 18 19 21 Binary file 0 comments Download
A cc/test/data/intersecting_blue_green_squares_video.png View 1 2 3 4 5 6 7 8 18 19 21 Binary file 0 comments Download
D cc/trees/layer_sorter.h View 1 2 3 4 5 6 7 8 9 10 11 21 1 chunk +0 lines, -97 lines 0 comments Download
D cc/trees/layer_sorter.cc View 1 2 3 4 5 6 7 8 9 10 11 21 1 chunk +0 lines, -470 lines 0 comments Download
D cc/trees/layer_sorter_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 21 1 chunk +0 lines, -329 lines 0 comments Download
M cc/trees/layer_tree_host_common.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 6 chunks +0 lines, -31 lines 0 comments Download
M cc/trees/layer_tree_host_common_perftest.cc View 1 2 3 4 5 21 4 chunks +14 lines, -52 lines 0 comments Download
M cc/trees/layer_tree_host_common_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +0 lines, -176 lines 0 comments Download
M cc/trees/layer_tree_host_pixeltest_filters.cc View 1 2 3 4 5 6 7 8 21 1 chunk +2 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_impl_unittest.cc View 1 2 3 4 5 21 1 chunk +0 lines, -8 lines 0 comments Download
M cc/trees/occlusion_tracker.cc View 1 2 3 4 5 6 7 8 21 1 chunk +1 line, -1 line 0 comments Download
M cc/trees/occlusion_tracker_unittest.cc View 1 2 3 4 5 6 7 8 21 1 chunk +0 lines, -50 lines 0 comments Download
M ui/gfx/geometry/quad_f.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 21 2 chunks +13 lines, -0 lines 0 comments Download
M ui/gfx/skia_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 21 2 chunks +3 lines, -0 lines 0 comments Download
M ui/gfx/skia_util.cc View 1 2 3 4 5 21 2 chunks +8 lines, -0 lines 0 comments Download

Messages

Total messages: 80 (25 generated)
enne (OOO)
Not sure if you wanted this for review yet, but here's an initial pass. Let ...
6 years, 3 months ago (2014-09-24 17:35:30 UTC) #2
enne (OOO)
Sorry for the super belated review. https://codereview.chromium.org/595593002/diff/70033/cc/output/bsp_walk_action.cc File cc/output/bsp_walk_action.cc (right): https://codereview.chromium.org/595593002/diff/70033/cc/output/bsp_walk_action.cc#newcode29 cc/output/bsp_walk_action.cc:29: if (item->original_ref()->quadTransform().GetInverse(&inverse_transform)) { ...
5 years, 10 months ago (2015-02-04 21:24:01 UTC) #3
awoloszyn
On 2015/02/04 21:24:01, enne wrote: > Sorry for the super belated review. > > https://codereview.chromium.org/595593002/diff/70033/cc/output/bsp_walk_action.cc ...
5 years, 10 months ago (2015-02-11 21:17:36 UTC) #4
enne (OOO)
Thanks. I'll take a look once you make the other changes. Re: pixel tests. I ...
5 years, 10 months ago (2015-02-11 21:26:16 UTC) #5
awoloszyn
https://codereview.chromium.org/595593002/diff/70033/cc/output/bsp_walk_action.cc File cc/output/bsp_walk_action.cc (right): https://codereview.chromium.org/595593002/diff/70033/cc/output/bsp_walk_action.cc#newcode29 cc/output/bsp_walk_action.cc:29: if (item->original_ref()->quadTransform().GetInverse(&inverse_transform)) { On 2015/02/04 21:23:59, enne wrote: > ...
5 years, 10 months ago (2015-02-12 16:48:52 UTC) #6
awoloszyn
On 2015/02/11 21:26:16, enne wrote: > Thanks. I'll take a look once you make the ...
5 years, 10 months ago (2015-02-12 16:54:52 UTC) #7
enne (OOO)
Looking really good, mostly just style nits at this point to clean up. Also, thanks ...
5 years, 10 months ago (2015-02-12 18:00:27 UTC) #8
enne (OOO)
> I think my only problem with having the single quad, and invisible perpendicular quads ...
5 years, 10 months ago (2015-02-12 18:02:52 UTC) #9
awoloszyn
There is an accompanying blink-side change to NeedsManuallyRebaseline I think 4 tests while this goes ...
5 years, 10 months ago (2015-02-23 22:28:27 UTC) #10
enne (OOO)
This seems really close. Can you write a more thorough CL description too? https://codereview.chromium.org/595593002/diff/130001/cc/output/direct_renderer.cc File ...
5 years, 10 months ago (2015-02-23 23:51:36 UTC) #11
awoloszyn
https://codereview.chromium.org/595593002/diff/150001/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/595593002/diff/150001/cc/output/direct_renderer.cc#newcode377 cc/output/direct_renderer.cc:377: // Clear the polygon list for the next transformation ...
5 years, 10 months ago (2015-02-24 21:28:49 UTC) #12
enne (OOO)
https://codereview.chromium.org/595593002/diff/150001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/595593002/diff/150001/cc/output/gl_renderer.cc#newcode1631 cc/output/gl_renderer.cc:1631: (is_top(local_clip_region, quad) && is_left(local_clip_region, quad) && Oh, quite right! ...
5 years, 10 months ago (2015-02-24 21:35:17 UTC) #13
enne (OOO)
lgtm
5 years, 10 months ago (2015-02-24 21:37:37 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/595593002/210001
5 years, 10 months ago (2015-02-26 17:34:21 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/45797)
5 years, 10 months ago (2015-02-26 17:54:53 UTC) #19
awoloszyn
Added dana for ui/gfx/geometry/quad_f.h ui/gfx/skia_util.cc ui/gfx/skia_util.h
5 years, 10 months ago (2015-02-26 18:30:47 UTC) #21
danakj
https://codereview.chromium.org/595593002/diff/230001/ui/gfx/geometry/quad_f.h File ui/gfx/geometry/quad_f.h (right): https://codereview.chromium.org/595593002/diff/230001/ui/gfx/geometry/quad_f.h#newcode72 ui/gfx/geometry/quad_f.h:72: for (size_t i = 0; i < times % ...
5 years, 10 months ago (2015-02-26 18:33:40 UTC) #22
awoloszyn
https://codereview.chromium.org/595593002/diff/230001/ui/gfx/geometry/quad_f.h File ui/gfx/geometry/quad_f.h (right): https://codereview.chromium.org/595593002/diff/230001/ui/gfx/geometry/quad_f.h#newcode72 ui/gfx/geometry/quad_f.h:72: for (size_t i = 0; i < times % ...
5 years, 10 months ago (2015-02-26 19:03:40 UTC) #23
danakj
LGTM https://codereview.chromium.org/595593002/diff/250001/ui/gfx/geometry/quad_f.h File ui/gfx/geometry/quad_f.h (right): https://codereview.chromium.org/595593002/diff/250001/ui/gfx/geometry/quad_f.h#newcode73 ui/gfx/geometry/quad_f.h:73: DCHECK(times < 4); use DCHECK_LT to do this ...
5 years, 10 months ago (2015-02-26 19:04:50 UTC) #24
awoloszyn
https://codereview.chromium.org/595593002/diff/250001/ui/gfx/geometry/quad_f.h File ui/gfx/geometry/quad_f.h (right): https://codereview.chromium.org/595593002/diff/250001/ui/gfx/geometry/quad_f.h#newcode73 ui/gfx/geometry/quad_f.h:73: DCHECK(times < 4); On 2015/02/26 19:04:49, danakj wrote: > ...
5 years, 10 months ago (2015-02-26 19:40:41 UTC) #25
danakj
Thanks LGTM
5 years, 10 months ago (2015-02-26 19:41:14 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/595593002/270001
5 years, 10 months ago (2015-02-26 19:44:01 UTC) #29
commit-bot: I haz the power
Try jobs failed on following builders: win8_chromium_rel on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_rel/builds/58827)
5 years, 10 months ago (2015-02-26 23:09:09 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/595593002/290001
5 years, 9 months ago (2015-02-27 14:01:49 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/595593002/310001
5 years, 9 months ago (2015-02-27 19:14:18 UTC) #37
commit-bot: I haz the power
Committed patchset #17 (id:310001)
5 years, 9 months ago (2015-02-27 20:32:17 UTC) #38
commit-bot: I haz the power
Patchset 17 (id:??) landed as https://crrev.com/ac754705ceaa5bc4cb8dc8df9a733b4b68396399 Cr-Commit-Position: refs/heads/master@{#318506}
5 years, 9 months ago (2015-02-27 20:32:48 UTC) #39
eroman
This appears to have triggered a static initializers error on builds, although not sure why.. ...
5 years, 9 months ago (2015-02-27 21:45:55 UTC) #41
Nico
https://codereview.chromium.org/595593002/diff/310001/cc/quads/draw_polygon.cc File cc/quads/draw_polygon.cc (right): https://codereview.chromium.org/595593002/diff/310001/cc/quads/draw_polygon.cc#newcode28 cc/quads/draw_polygon.cc:28: static const float split_threshold = compare_threshold / 2.0f; this ...
5 years, 9 months ago (2015-02-27 21:48:43 UTC) #43
eroman
A revert of this CL (patchset #17 id:310001) has been created in https://codereview.chromium.org/960893004/ by eroman@chromium.org. ...
5 years, 9 months ago (2015-02-27 22:09:57 UTC) #44
awoloszyn
Merge https://codereview.chromium.org/962363002/ and https://codereview.chromium.org/959403002/
5 years, 9 months ago (2015-03-10 21:46:24 UTC) #45
enne (OOO)
Changes lgtm.
5 years, 9 months ago (2015-03-10 21:56:41 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/595593002/330001
5 years, 9 months ago (2015-03-11 12:44:54 UTC) #49
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_rel/builds/67947)
5 years, 9 months ago (2015-03-11 13:14:07 UTC) #51
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/595593002/350001
5 years, 9 months ago (2015-03-11 13:31:49 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/595593002/370001
5 years, 9 months ago (2015-03-11 15:36:23 UTC) #57
commit-bot: I haz the power
Committed patchset #20 (id:370001)
5 years, 9 months ago (2015-03-11 16:54:31 UTC) #58
commit-bot: I haz the power
Patchset 20 (id:??) landed as https://crrev.com/7e2af77dcd3b5df086be3421fad40b719779381c Cr-Commit-Position: refs/heads/master@{#320096}
5 years, 9 months ago (2015-03-11 16:56:50 UTC) #59
gab
A revert of this CL (patchset #20 id:370001) has been created in https://codereview.chromium.org/998023002/ by gab@chromium.org. ...
5 years, 9 months ago (2015-03-11 19:32:22 UTC) #60
awoloszyn
Removed the default_normal. It was only being used in one place, and was showing up ...
5 years, 9 months ago (2015-03-12 01:01:59 UTC) #61
enne (OOO)
Is there a try bot or a local way to see if static_initializers is clean?
5 years, 9 months ago (2015-03-12 01:20:55 UTC) #62
tfarina
On Wed, Mar 11, 2015 at 10:20 PM, <enne@chromium.org> wrote: > Is there a try ...
5 years, 9 months ago (2015-03-12 01:27:56 UTC) #63
scottmg
I think Nico or Lei would be better bets, but yes, you can run that ...
5 years, 9 months ago (2015-03-12 01:35:35 UTC) #65
Nico
https://codereview.chromium.org/595593002/diff/410001/cc/quads/draw_polygon.cc File cc/quads/draw_polygon.cc (right): https://codereview.chromium.org/595593002/diff/410001/cc/quads/draw_polygon.cc#newcode58 cc/quads/draw_polygon.cc:58: : normal_(0.0f, 0.0f, 1.0f), Alternatively, you could do gfx::Vector3dF ...
5 years, 9 months ago (2015-03-12 02:50:47 UTC) #66
awoloszyn
On 2015/03/12 02:50:47, Nico (traveling) wrote: > https://codereview.chromium.org/595593002/diff/410001/cc/quads/draw_polygon.cc > File cc/quads/draw_polygon.cc (right): > > https://codereview.chromium.org/595593002/diff/410001/cc/quads/draw_polygon.cc#newcode58 ...
5 years, 9 months ago (2015-03-12 03:24:37 UTC) #67
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/595593002/410001
5 years, 9 months ago (2015-03-12 12:24:44 UTC) #70
commit-bot: I haz the power
Committed patchset #22 (id:410001)
5 years, 9 months ago (2015-03-12 14:39:03 UTC) #71
commit-bot: I haz the power
Patchset 22 (id:??) landed as https://crrev.com/3d8eb1d841ec1ea36906d351bc65af4d7d27718a Cr-Commit-Position: refs/heads/master@{#320276}
5 years, 9 months ago (2015-03-12 14:39:49 UTC) #72
alexst (slow to review)
On 2015/03/12 14:39:49, I haz the power (commit-bot) wrote: > Patchset 22 (id:??) landed as ...
5 years, 9 months ago (2015-03-16 19:16:43 UTC) #73
enne (OOO)
alexst: Do you think this needs to be rolled out? If no, can you file ...
5 years, 9 months ago (2015-03-16 19:38:46 UTC) #74
xing.xu
https://codereview.chromium.org/595593002/diff/410001/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/595593002/diff/410001/cc/output/direct_renderer.cc#newcode435 cc/output/direct_renderer.cc:435: FlushPolygons(&poly_list, frame, render_pass_scissor, I didn't understand why L460 did ...
3 years, 7 months ago (2017-05-03 07:07:18 UTC) #76
xing.xu
The L460 is for case with sorting context. But I didn't understand,why the following is ...
3 years, 7 months ago (2017-05-03 12:45:31 UTC) #77
xing.xu
The L460 is for case with sorting context. But I didn't understand,why the following is ...
3 years, 7 months ago (2017-05-03 12:45:34 UTC) #78
enne (OOO)
I think it's that there can be two different sorting contexts back to back in ...
3 years, 7 months ago (2017-05-03 19:00:14 UTC) #79
xing.xu
3 years, 7 months ago (2017-05-04 06:06:50 UTC) #80
Message was sent while issue was closed.
Thanks enne!

Powered by Google App Engine
This is Rietveld 408576698