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

Issue 250083002: cc: Use the onscreen context to perform composited ganesh filters. (Closed)

Created:
6 years, 8 months ago by danakj
Modified:
6 years, 8 months ago
CC:
chromium-reviews, cc-bugs_chromium.org, bsaloman_chromium.org, piman
Visibility:
Public.

Description

cc: Use the onscreen context to perform composited ganesh filters. This avoids the need for an offscreen context at all. Since the GPU rasterization path is already doing similar stuff, we need to support both cc and ganesh using the same context. This is a bit trickier since it occurs in the middle of drawing a frame instead of between frames, but as long as we restore all state that GLRenderer ever sets, it works. R=enne@chromium.org, senorblanco@chromium.org BUG=366132 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=265810

Patch Set 1 #

Patch Set 2 : onscreenfilters: #

Patch Set 3 : onscreenfilters: #

Total comments: 11

Patch Set 4 : onscreenfilters: #

Total comments: 2

Patch Set 5 : onscreenfilters: #

Total comments: 2

Patch Set 6 : onscreenfilters: nit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+121 lines, -317 lines) Patch
M cc/output/direct_renderer.h View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download
M cc/output/gl_renderer.h View 1 2 3 2 chunks +4 lines, -0 lines 0 comments Download
M cc/output/gl_renderer.cc View 1 2 3 4 5 16 chunks +113 lines, -66 lines 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 1 chunk +0 lines, -44 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_context.cc View 1 2 3 5 chunks +4 lines, -85 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_delegated.cc View 1 2 3 1 chunk +0 lines, -120 lines 0 comments Download

Messages

Total messages: 20 (0 generated)
danakj
WDYT? Does this look like a clean way to do this? Any suggestions?
6 years, 8 months ago (2014-04-23 19:44:11 UTC) #1
enne (OOO)
https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc#newcode180 cc/output/gl_renderer.cc:180: class GLRenderer::UseGrContext { ScopedUseGrContext? https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc#newcode210 cc/output/gl_renderer.cc:210: DISALLOW_COPY_AND_ASSIGN(UseGrContext); Stick a ...
6 years, 8 months ago (2014-04-23 19:53:40 UTC) #2
danakj
https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc#newcode3140 cc/output/gl_renderer.cc:3140: void GLRenderer::RestoreGLState(DrawingFrame* frame) { On 2014/04/23 19:53:41, enne wrote: ...
6 years, 8 months ago (2014-04-23 19:56:05 UTC) #3
Stephen White
Muchas gracias for taking this on! https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc#newcode180 cc/output/gl_renderer.cc:180: class GLRenderer::UseGrContext { ...
6 years, 8 months ago (2014-04-23 19:57:19 UTC) #4
enne (OOO)
https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc#newcode3140 cc/output/gl_renderer.cc:3140: void GLRenderer::RestoreGLState(DrawingFrame* frame) { On 2014/04/23 19:56:05, danakj wrote: ...
6 years, 8 months ago (2014-04-23 20:01:09 UTC) #5
danakj
https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc#newcode180 cc/output/gl_renderer.cc:180: class GLRenderer::UseGrContext { 2014/04/23 19:57:20, Stephen White wrote: > ...
6 years, 8 months ago (2014-04-23 20:11:10 UTC) #6
danakj
I've renamed to ScopedUseGrContext, split the UseRenderPass call out to GLRenderer::RestoreFramebuffer(DrawingFrame*) and made the ReinitializeGLState() ...
6 years, 8 months ago (2014-04-23 20:21:07 UTC) #7
Stephen White
On 2014/04/23 20:11:10, danakj wrote: > https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc > File cc/output/gl_renderer.cc (right): > > https://codereview.chromium.org/250083002/diff/40001/cc/output/gl_renderer.cc#newcode180 > ...
6 years, 8 months ago (2014-04-23 20:30:39 UTC) #8
enne (OOO)
Re: scissor. Here's the call ordering I'm worried about: SetScissorTestRect(A) Ganesh changes scissor to B ...
6 years, 8 months ago (2014-04-23 20:51:32 UTC) #9
enne (OOO)
On 2014/04/23 20:51:32, enne wrote: > Re: scissor. Here's the call ordering I'm worried about: ...
6 years, 8 months ago (2014-04-23 20:52:53 UTC) #10
danakj
OK, I've moved the flush() out of the ScopedUseGrContext class. This puts it just before ...
6 years, 8 months ago (2014-04-23 21:14:08 UTC) #11
Stephen White
LGTM. Thanks for the extra effort. https://codereview.chromium.org/250083002/diff/60001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/250083002/diff/60001/cc/output/gl_renderer.cc#newcode338 cc/output/gl_renderer.cc:338: capabilities_.using_offscreen_context3d = false; ...
6 years, 8 months ago (2014-04-23 21:57:21 UTC) #12
danakj
Thanks! https://codereview.chromium.org/250083002/diff/60001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/250083002/diff/60001/cc/output/gl_renderer.cc#newcode338 cc/output/gl_renderer.cc:338: capabilities_.using_offscreen_context3d = false; On 2014/04/23 21:57:21, Stephen White ...
6 years, 8 months ago (2014-04-23 22:00:14 UTC) #13
danakj
The CQ bit was checked by danakj@chromium.org
6 years, 8 months ago (2014-04-23 22:01:33 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/250083002/100001
6 years, 8 months ago (2014-04-23 22:03:02 UTC) #15
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-23 22:43:47 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on win_chromium_rel
6 years, 8 months ago (2014-04-23 22:43:47 UTC) #17
danakj
The CQ bit was checked by danakj@chromium.org
6 years, 8 months ago (2014-04-23 23:22:07 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/250083002/100001
6 years, 8 months ago (2014-04-23 23:22:25 UTC) #19
commit-bot: I haz the power
6 years, 8 months ago (2014-04-24 01:17:56 UTC) #20
Message was sent while issue was closed.
Change committed as 265810

Powered by Google App Engine
This is Rietveld 408576698