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

Issue 516663003: Surfaceless OutputSurface implementation. (Closed)

Created:
6 years, 3 months ago by achaulk
Modified:
6 years, 3 months ago
CC:
chromium-reviews, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Surfaceless OutputSurface implementation. Implements an OutputSurface that uses render-to-texture and overlays to display the main surface. Buffering of frames is implemented internally as there is no system-provided surface. BUG=380861 Committed: https://crrev.com/d438d276746f08c88ee7c69450ff1c2f41a46197 Cr-Commit-Position: refs/heads/master@{#295119}

Patch Set 1 #

Patch Set 2 : fix shared build #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : implement GenRenderbuffers #

Total comments: 12

Patch Set 7 : #

Patch Set 8 : #

Total comments: 14

Patch Set 9 : #

Total comments: 7

Patch Set 10 : #

Total comments: 6

Patch Set 11 : fix nits #

Patch Set 12 : add release call #

Total comments: 29

Patch Set 13 : #

Total comments: 7

Patch Set 14 : #

Total comments: 2

Patch Set 15 : fix nits #

Patch Set 16 : fix tests for new bind/init order #

Unified diffs Side-by-side diffs Delta from patch set Stats (+615 lines, -8 lines) Patch
M cc/test/test_gles2_interface.h View 1 2 3 4 5 6 7 3 chunks +15 lines, -0 lines 0 comments Download
M cc/test/test_gles2_interface.cc View 1 2 3 4 5 6 7 3 chunks +33 lines, -0 lines 0 comments Download
M cc/test/test_web_graphics_context_3d.h View 1 2 3 4 5 6 7 1 chunk +13 lines, -0 lines 0 comments Download
A content/browser/compositor/buffer_queue.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +71 lines, -0 lines 0 comments Download
A content/browser/compositor/buffer_queue.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +128 lines, -0 lines 0 comments Download
A content/browser/compositor/buffer_queue_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +201 lines, -0 lines 0 comments Download
M content/browser/compositor/gpu_browser_compositor_output_surface.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +21 lines, -7 lines 0 comments Download
A content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +40 lines, -0 lines 0 comments Download
A content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +85 lines, -0 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -0 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M ui/gl/gl_surface_ozone.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 34 (7 generated)
achaulk
still need to clean up the tests but this is basically the patch
6 years, 3 months ago (2014-08-29 23:36:06 UTC) #2
alexst (slow to review)
Some initial comments. https://codereview.chromium.org/516663003/diff/100001/content/browser/compositor/gpu_browser_compositor_output_surface.cc File content/browser/compositor/gpu_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/100001/content/browser/compositor/gpu_browser_compositor_output_surface.cc#newcode62 content/browser/compositor/gpu_browser_compositor_output_surface.cc:62: int z_order) I see primary surface ...
6 years, 3 months ago (2014-09-02 13:16:00 UTC) #3
achaulk
https://codereview.chromium.org/516663003/diff/100001/content/browser/compositor/gpu_browser_compositor_output_surface.cc File content/browser/compositor/gpu_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/100001/content/browser/compositor/gpu_browser_compositor_output_surface.cc#newcode62 content/browser/compositor/gpu_browser_compositor_output_surface.cc:62: int z_order) On 2014/09/02 13:15:59, alexst wrote: > I ...
6 years, 3 months ago (2014-09-02 17:48:45 UTC) #4
alexst (slow to review)
> Sure. I'm not sure how we can really do partial updates anyway. Maybe only ...
6 years, 3 months ago (2014-09-02 18:51:28 UTC) #5
achaulk
On 2014/09/02 18:51:28, alexst wrote: > > Sure. I'm not sure how we can really ...
6 years, 3 months ago (2014-09-10 15:11:27 UTC) #6
alexst (slow to review)
https://codereview.chromium.org/516663003/diff/140001/content/browser/compositor/buffered_output_surface.cc File content/browser/compositor/buffered_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/140001/content/browser/compositor/buffered_output_surface.cc#newcode90 content/browser/compositor/buffered_output_surface.cc:90: if (available_surfaces_.size() < 2) Let's not try to limit ...
6 years, 3 months ago (2014-09-10 15:39:08 UTC) #7
achaulk
https://codereview.chromium.org/516663003/diff/140001/content/browser/compositor/buffered_output_surface.cc File content/browser/compositor/buffered_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/140001/content/browser/compositor/buffered_output_surface.cc#newcode90 content/browser/compositor/buffered_output_surface.cc:90: if (available_surfaces_.size() < 2) On 2014/09/10 15:39:07, alexst wrote: ...
6 years, 3 months ago (2014-09-10 16:47:55 UTC) #8
alexst (slow to review)
https://codereview.chromium.org/516663003/diff/160001/content/browser/compositor/buffered_output_surface.cc File content/browser/compositor/buffered_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/160001/content/browser/compositor/buffered_output_surface.cc#newcode56 content/browser/compositor/buffered_output_surface.cc:56: gl->BindTexImage2DCHROMIUM(GL_TEXTURE_2D, current_surface_); I looked at the implementation, and this ...
6 years, 3 months ago (2014-09-10 17:37:09 UTC) #9
achaulk
https://codereview.chromium.org/516663003/diff/160001/content/browser/compositor/buffered_output_surface.cc File content/browser/compositor/buffered_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/160001/content/browser/compositor/buffered_output_surface.cc#newcode56 content/browser/compositor/buffered_output_surface.cc:56: gl->BindTexImage2DCHROMIUM(GL_TEXTURE_2D, current_surface_); On 2014/09/10 17:37:08, alexst wrote: > I ...
6 years, 3 months ago (2014-09-10 18:56:08 UTC) #10
achaulk
Do we want to preallocate the first two buffers when we resize?
6 years, 3 months ago (2014-09-10 19:03:52 UTC) #11
alexst (slow to review)
I don't think we need to pre-allocate. Looks good, let me just look through the ...
6 years, 3 months ago (2014-09-10 21:25:14 UTC) #12
alexst (slow to review)
after the nits: lgtm! thank you! https://codereview.chromium.org/516663003/diff/180001/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc File content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/180001/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc#newcode31 content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc:31: z_order_(z_order), Let's save ...
6 years, 3 months ago (2014-09-11 15:41:33 UTC) #13
achaulk
Who should do owners review? piman? https://codereview.chromium.org/516663003/diff/180001/content/browser/compositor/buffered_output_surface.cc File content/browser/compositor/buffered_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/180001/content/browser/compositor/buffered_output_surface.cc#newcode103 content/browser/compositor/buffered_output_surface.cc:103: gl->DeleteTextures(1, &surface->first); On ...
6 years, 3 months ago (2014-09-11 17:25:48 UTC) #14
achaulk
+piman for owners review
6 years, 3 months ago (2014-09-11 17:37:15 UTC) #16
piman
https://codereview.chromium.org/516663003/diff/220001/content/browser/compositor/buffered_output_surface.cc File content/browser/compositor/buffered_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/220001/content/browser/compositor/buffered_output_surface.cc#newcode31 content/browser/compositor/buffered_output_surface.cc:31: gl->DeleteRenderbuffers(1, &depth_rb_); We don't need a depth buffer for ...
6 years, 3 months ago (2014-09-11 20:25:29 UTC) #17
achaulk
I'll rename the file/class in another patch https://codereview.chromium.org/516663003/diff/220001/content/browser/compositor/buffered_output_surface.cc File content/browser/compositor/buffered_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/220001/content/browser/compositor/buffered_output_surface.cc#newcode31 content/browser/compositor/buffered_output_surface.cc:31: gl->DeleteRenderbuffers(1, &depth_rb_); ...
6 years, 3 months ago (2014-09-12 19:51:08 UTC) #18
piman
https://codereview.chromium.org/516663003/diff/220001/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc File content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/220001/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc#newcode43 content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc:43: gl->Finish(); // This will eventually be replaced by sync ...
6 years, 3 months ago (2014-09-12 21:58:30 UTC) #19
achaulk
https://codereview.chromium.org/516663003/diff/220001/content/browser/compositor/buffered_output_surface.h File content/browser/compositor/buffered_output_surface.h (right): https://codereview.chromium.org/516663003/diff/220001/content/browser/compositor/buffered_output_surface.h#newcode25 content/browser/compositor/buffered_output_surface.h:25: class CONTENT_EXPORT BufferedOutputSurface { On 2014/09/11 20:25:29, piman (Very ...
6 years, 3 months ago (2014-09-15 16:31:43 UTC) #20
piman
LGTM + 2 nits https://codereview.chromium.org/516663003/diff/240001/content/browser/compositor/buffered_output_surface.cc File content/browser/compositor/buffered_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/240001/content/browser/compositor/buffered_output_surface.cc#newcode122 content/browser/compositor/buffered_output_surface.cc:122: DCHECK(id); On 2014/09/15 16:31:42, achaulk ...
6 years, 3 months ago (2014-09-15 18:29:58 UTC) #21
achaulk
https://codereview.chromium.org/516663003/diff/240001/content/browser/compositor/buffered_output_surface.cc File content/browser/compositor/buffered_output_surface.cc (right): https://codereview.chromium.org/516663003/diff/240001/content/browser/compositor/buffered_output_surface.cc#newcode122 content/browser/compositor/buffered_output_surface.cc:122: DCHECK(id); On 2014/09/15 18:29:58, piman (Very slow to review) ...
6 years, 3 months ago (2014-09-15 18:41:25 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/516663003/280001
6 years, 3 months ago (2014-09-15 19:16:58 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_swarming/builds/14334) linux_chromium_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_swarming/builds/16375) mac_chromium_rel_swarming ...
6 years, 3 months ago (2014-09-15 20:31:38 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/516663003/280001
6 years, 3 months ago (2014-09-16 16:09:23 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_swarming/builds/16733) win_chromium_x64_rel_swarming on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_swarming/builds/9962)
6 years, 3 months ago (2014-09-16 17:22:57 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/516663003/300001
6 years, 3 months ago (2014-09-16 17:50:54 UTC) #32
commit-bot: I haz the power
Committed patchset #16 (id:300001) as f60953f5383693c4816c32af308c0834b4e6303a
6 years, 3 months ago (2014-09-16 19:14:05 UTC) #33
commit-bot: I haz the power
6 years, 3 months ago (2014-09-16 19:16:00 UTC) #34
Message was sent while issue was closed.
Patchset 16 (id:??) landed as
https://crrev.com/d438d276746f08c88ee7c69450ff1c2f41a46197
Cr-Commit-Position: refs/heads/master@{#295119}

Powered by Google App Engine
This is Rietveld 408576698