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

Issue 208213003: Plumb overlay processing into DirectRenderer. (Closed)

Created:
6 years, 9 months ago by alexst (slow to review)
Modified:
6 years, 9 months ago
Reviewers:
piman, enne (OOO)
CC:
chromium-reviews, cc-bugs_chromium.org
Visibility:
Public.

Description

Plumb overlay processing into DirectRenderer. This change tests for overlays inside DirectRenderer::DrawFrame and if new overlay passes were produced, it skips rendering them and forwards the information to FinishDrawingFrame to allow subclasses like GLRenderer and SoftwareRenderer to schedule overlays in a manner specific to their implementation. GLRenderer schedules overlays via ContextSupport. Adds more tests to ensure overlay quads are not drawn and if no overlays are present, no quads are skipped. BUG= Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=260267

Patch Set 1 #

Total comments: 5

Patch Set 2 : #

Patch Set 3 : More plumbing #

Total comments: 5

Patch Set 4 : Exporting resources #

Total comments: 7

Patch Set 5 : Introduced ScopedExportLock #

Total comments: 1

Patch Set 6 : ScopedGLLock #

Total comments: 1

Patch Set 7 : #

Patch Set 8 : Rebase, Build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+604 lines, -123 lines) Patch
M cc/output/direct_renderer.h View 1 2 3 3 chunks +4 lines, -0 lines 0 comments Download
M cc/output/direct_renderer.cc View 1 2 3 2 chunks +8 lines, -1 line 0 comments Download
M cc/output/gl_renderer.h View 1 2 3 4 5 6 7 1 chunk +7 lines, -0 lines 0 comments Download
M cc/output/gl_renderer.cc View 1 2 3 4 5 6 7 4 chunks +35 lines, -0 lines 0 comments Download
M cc/output/overlay_candidate.h View 1 2 3 3 chunks +17 lines, -1 line 0 comments Download
M cc/output/overlay_candidate.cc View 1 2 3 2 chunks +25 lines, -1 line 0 comments Download
M cc/output/overlay_candidate_validator.h View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download
M cc/output/overlay_processor.h View 1 2 3 3 chunks +5 lines, -2 lines 0 comments Download
M cc/output/overlay_processor.cc View 1 2 3 4 5 2 chunks +6 lines, -3 lines 0 comments Download
M cc/output/overlay_strategy_single_on_top.h View 1 2 3 2 chunks +3 lines, -1 line 0 comments Download
M cc/output/overlay_strategy_single_on_top.cc View 1 2 3 4 chunks +15 lines, -15 lines 0 comments Download
M cc/output/overlay_unittest.cc View 1 2 3 4 5 16 chunks +337 lines, -40 lines 0 comments Download
M cc/quads/render_pass.h View 1 2 3 3 chunks +1 line, -9 lines 0 comments Download
M cc/quads/render_pass.cc View 1 2 3 5 chunks +5 lines, -14 lines 0 comments Download
M cc/quads/render_pass_unittest.cc View 1 2 3 7 chunks +4 lines, -15 lines 0 comments Download
M cc/resources/resource_provider.cc View 1 2 3 4 5 6 7 4 chunks +20 lines, -6 lines 0 comments Download
M cc/resources/resource_provider_unittest.cc View 1 2 3 4 5 6 7 1 chunk +50 lines, -0 lines 0 comments Download
M cc/surfaces/surface_aggregator.cc View 1 2 3 2 chunks +2 lines, -4 lines 0 comments Download
M cc/test/test_context_support.h View 1 2 3 4 5 3 chunks +15 lines, -0 lines 0 comments Download
M cc/test/test_context_support.cc View 1 2 3 4 5 2 chunks +19 lines, -0 lines 0 comments Download
M content/common/cc_messages.cc View 1 2 3 2 chunks +1 line, -3 lines 0 comments Download
M content/common/cc_messages_unittest.cc View 1 2 3 4 5 6 7 3 chunks +3 lines, -6 lines 0 comments Download
M gpu/command_buffer/client/context_support.h View 1 2 3 4 5 1 chunk +9 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.h View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 1 2 3 4 5 6 7 1 chunk +8 lines, -0 lines 0 comments Download

Messages

Total messages: 20 (0 generated)
alexst (slow to review)
Initial bits of plumbing plus tests to make sure existing stuff doesn't break.
6 years, 9 months ago (2014-03-21 14:36:18 UTC) #1
enne (OOO)
https://codereview.chromium.org/208213003/diff/1/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/208213003/diff/1/cc/output/direct_renderer.cc#newcode227 cc/output/direct_renderer.cc:227: frame.render_passes_in_draw_order = render_passes_in_draw_order; This variable is a little awkward. ...
6 years, 9 months ago (2014-03-21 18:15:44 UTC) #2
enne (OOO)
https://codereview.chromium.org/208213003/diff/1/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/208213003/diff/1/cc/output/direct_renderer.cc#newcode227 cc/output/direct_renderer.cc:227: frame.render_passes_in_draw_order = render_passes_in_draw_order; (Er, sorry, I see that it's ...
6 years, 9 months ago (2014-03-21 18:16:08 UTC) #3
alexst (slow to review)
https://codereview.chromium.org/208213003/diff/1/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/208213003/diff/1/cc/output/direct_renderer.cc#newcode227 cc/output/direct_renderer.cc:227: frame.render_passes_in_draw_order = render_passes_in_draw_order; On 2014/03/21 18:16:08, enne wrote: > ...
6 years, 9 months ago (2014-03-21 18:37:41 UTC) #4
piman
https://codereview.chromium.org/208213003/diff/1/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/208213003/diff/1/cc/output/direct_renderer.cc#newcode227 cc/output/direct_renderer.cc:227: frame.render_passes_in_draw_order = render_passes_in_draw_order; On 2014/03/21 18:37:41, alexst wrote: > ...
6 years, 9 months ago (2014-03-21 21:45:12 UTC) #5
alexst (slow to review)
https://codereview.chromium.org/208213003/diff/1/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/208213003/diff/1/cc/output/direct_renderer.cc#newcode227 cc/output/direct_renderer.cc:227: frame.render_passes_in_draw_order = render_passes_in_draw_order; On 2014/03/21 21:45:12, piman wrote: > ...
6 years, 9 months ago (2014-03-24 12:46:45 UTC) #6
alexst (slow to review)
PTAL. I plumbed this a bit further to give you better context. https://codereview.chromium.org/208213003/diff/40001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc ...
6 years, 9 months ago (2014-03-24 23:25:40 UTC) #7
piman
https://codereview.chromium.org/208213003/diff/40001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/208213003/diff/40001/cc/output/gl_renderer.cc#newcode2179 cc/output/gl_renderer.cc:2179: in_use_overlay_resources_.swap(pending_overlay_resources_); On 2014/03/24 23:25:40, alexst wrote: > This particular ...
6 years, 9 months ago (2014-03-25 00:08:08 UTC) #8
alexst (slow to review)
Thanks for the feedback re:exporting resources. This should follow roughly the same code path that ...
6 years, 9 months ago (2014-03-26 01:23:51 UTC) #9
piman
https://codereview.chromium.org/208213003/diff/60001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/208213003/diff/60001/cc/output/gl_renderer.cc#newcode260 cc/output/gl_renderer.cc:260: } If you keep the "child" logic (see below), ...
6 years, 9 months ago (2014-03-26 03:43:32 UTC) #10
alexst (slow to review)
So I tried going down a simpler resource export to parent path and then had ...
6 years, 9 months ago (2014-03-26 20:48:49 UTC) #11
piman
https://codereview.chromium.org/208213003/diff/150001/cc/resources/resource_provider.cc File cc/resources/resource_provider.cc (right): https://codereview.chromium.org/208213003/diff/150001/cc/resources/resource_provider.cc#newcode1458 cc/resources/resource_provider.cc:1458: child_info.in_use_resources.insert(local_id); I'm not sure if it's the best way ...
6 years, 9 months ago (2014-03-27 00:12:36 UTC) #12
alexst (slow to review)
Okay, this is deferring return until read lock is released. PTAL, and thank for your ...
6 years, 9 months ago (2014-03-27 14:58:17 UTC) #13
piman
Cool, LGTM!
6 years, 9 months ago (2014-03-27 17:53:26 UTC) #14
alexst (slow to review)
The CQ bit was checked by alexst@chromium.org
6 years, 9 months ago (2014-03-27 23:39:52 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/alexst@chromium.org/208213003/190001
6 years, 9 months ago (2014-03-27 23:41:58 UTC) #16
alexst (slow to review)
The CQ bit was unchecked by alexst@chromium.org
6 years, 9 months ago (2014-03-28 16:39:44 UTC) #17
alexst (slow to review)
The CQ bit was checked by alexst@chromium.org
6 years, 9 months ago (2014-03-28 17:00:33 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/alexst@chromium.org/208213003/190001
6 years, 9 months ago (2014-03-28 17:02:45 UTC) #19
commit-bot: I haz the power
6 years, 9 months ago (2014-03-28 20:49:11 UTC) #20
Message was sent while issue was closed.
Change committed as 260267

Powered by Google App Engine
This is Rietveld 408576698