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

Issue 1136006: Calling OpenGL from the renderer process. (Closed)

Created:
10 years, 9 months ago by apatrick_chromium
Modified:
9 years, 7 months ago
CC:
chromium-reviews, jam+cc_chromium.org, brettw+cc_chromium.org, ben+cc_chromium.org, jam, apatrick_chromium, darin-cc_chromium.org, Paweł Hajdan Jr., David Springer, pink (ping after 24hrs), stuartmorgan
Visibility:
Public.

Description

Calling OpenGL from the renderer process - Added ability for renderer processes to render to a real window (Windows only so far). - Added ability to create offscreen frame buffer objects that can be resized later. - OpenGL context can have a "parent" context that can access its last swapped back buffer through a texture ID. - Moved code to establish GPU channel from RenderWidget to RenderThread. - Changed way service size command buffer object lifetimes are managed. TEST=trybot and visual verification that OpenGL can clear the browser window to magenta. BUG=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=42679

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 18

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 16

Patch Set 5 : '' #

Total comments: 24

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1295 lines, -311 lines) Patch
M chrome/browser/gpu_process_host.h View 1 2 3 4 5 3 chunks +3 lines, -9 lines 0 comments Download
M chrome/browser/gpu_process_host.cc View 1 2 3 4 5 2 chunks +5 lines, -9 lines 0 comments Download
M chrome/browser/renderer_host/browser_render_process_host.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/renderer_host/browser_render_process_host.cc View 1 2 3 4 5 4 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host.h View 1 2 3 4 5 1 chunk +0 lines, -4 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host.cc View 1 2 3 4 5 4 chunks +0 lines, -8 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_win.cc View 1 2 3 4 5 1 chunk +9 lines, -0 lines 0 comments Download
M chrome/common/chrome_constants.h View 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/common/chrome_constants.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/common/gpu_messages_internal.h View 1 2 3 4 5 3 chunks +20 lines, -3 lines 0 comments Download
M chrome/common/render_messages_internal.h View 1 2 3 4 5 2 chunks +3 lines, -3 lines 0 comments Download
M chrome/gpu/gpu_channel.h View 1 2 3 4 5 4 chunks +14 lines, -18 lines 0 comments Download
M chrome/gpu/gpu_channel.cc View 1 2 3 4 5 7 chunks +71 lines, -41 lines 0 comments Download
M chrome/gpu/gpu_command_buffer_stub.h View 1 2 3 4 5 4 chunks +13 lines, -3 lines 0 comments Download
M chrome/gpu/gpu_command_buffer_stub.cc View 1 2 3 4 5 6 chunks +31 lines, -3 lines 0 comments Download
M chrome/gpu/gpu_thread.h View 1 2 3 4 5 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/gpu/gpu_thread.cc View 1 2 3 4 5 2 chunks +20 lines, -4 lines 0 comments Download
M chrome/plugin/command_buffer_stub.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M chrome/plugin/command_buffer_stub.cc View 1 2 3 4 5 2 chunks +3 lines, -3 lines 0 comments Download
M chrome/renderer/command_buffer_proxy.h View 1 2 3 4 5 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/renderer/command_buffer_proxy.cc View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/renderer/ggl/ggl.h View 1 2 3 4 5 2 chunks +31 lines, -3 lines 0 comments Download
M chrome/renderer/ggl/ggl.cc View 1 2 3 4 5 6 chunks +75 lines, -13 lines 0 comments Download
M chrome/renderer/gpu_channel_host.h View 1 2 3 4 5 2 chunks +9 lines, -1 line 0 comments Download
M chrome/renderer/gpu_channel_host.cc View 1 2 3 4 5 3 chunks +32 lines, -2 lines 0 comments Download
M chrome/renderer/render_thread.h View 1 2 3 4 5 4 chunks +16 lines, -0 lines 0 comments Download
M chrome/renderer/render_thread.cc View 1 2 3 4 5 4 chunks +50 lines, -0 lines 0 comments Download
M chrome/renderer/render_widget.h View 1 2 3 4 5 5 chunks +0 lines, -15 lines 0 comments Download
M chrome/renderer/render_widget.cc View 1 2 3 4 5 5 chunks +45 lines, -46 lines 0 comments Download
M gpu/command_buffer/build_gles2_cmd_buffer.py View 1 2 3 4 5 2 chunks +5 lines, -5 lines 0 comments Download
M gpu/command_buffer/client/cmd_buffer_helper_test.cc View 1 2 3 4 5 2 chunks +4 lines, -3 lines 0 comments Download
M gpu/command_buffer/client/fenced_allocator_test.cc View 1 2 3 4 5 2 chunks +4 lines, -3 lines 0 comments Download
M gpu/command_buffer/client/gles2_demo.cc View 1 2 3 4 5 6 7 1 chunk +6 lines, -4 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.h View 1 2 3 4 5 2 chunks +10 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 27 chunks +686 lines, -41 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_autogen.h View 1 2 3 4 5 1 chunk +0 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_mock.h View 1 2 3 4 5 6 7 2 chunks +5 lines, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/service/gpu_processor.h View 1 2 3 4 5 5 chunks +12 lines, -27 lines 0 comments Download
M gpu/command_buffer/service/gpu_processor.cc View 1 2 3 4 5 5 chunks +12 lines, -3 lines 0 comments Download
M gpu/command_buffer/service/gpu_processor_linux.cc View 4 5 2 chunks +19 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/gpu_processor_mac.cc View 4 5 2 chunks +20 lines, -3 lines 0 comments Download
M gpu/command_buffer/service/gpu_processor_unittest.cc View 1 2 3 4 5 2 chunks +5 lines, -5 lines 0 comments Download
M gpu/command_buffer/service/gpu_processor_win.cc View 1 2 3 4 5 2 chunks +17 lines, -3 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/service/texture_manager.cc View 1 2 3 4 5 1 chunk +5 lines, -4 lines 0 comments Download
M gpu/demos/framework/window.cc View 1 2 3 4 5 6 7 1 chunk +6 lines, -3 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
apatrick_chromium
This still needs quite a bit of work but I would appreciate some early feedback. ...
10 years, 9 months ago (2010-03-19 22:51:42 UTC) #1
greggman
http://codereview.chromium.org/1136006/diff/21002/35009 File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): http://codereview.chromium.org/1136006/diff/21002/35009#newcode918 gpu/command_buffer/service/gles2_cmd_decoder.cc:918: DCHECK(id_ == 0); DCHECK_EQ? http://codereview.chromium.org/1136006/diff/21002/35009#newcode938 gpu/command_buffer/service/gles2_cmd_decoder.cc:938: // TODO(apatrick): The ...
10 years, 9 months ago (2010-03-22 02:30:59 UTC) #2
apatrick_chromium
http://codereview.chromium.org/1136006/diff/21002/35009 File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): http://codereview.chromium.org/1136006/diff/21002/35009#newcode938 gpu/command_buffer/service/gles2_cmd_decoder.cc:938: // TODO(apatrick): The OpenGL spec doesn't actually document that ...
10 years, 9 months ago (2010-03-22 20:30:58 UTC) #3
greggman
LGTM http://codereview.chromium.org/1136006/diff/21002/35009 File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): http://codereview.chromium.org/1136006/diff/21002/35009#newcode1059 gpu/command_buffer/service/gles2_cmd_decoder.cc:1059: glClear(buffers); On 2010/03/22 20:30:59, apatrick_chromium wrote: > That's ...
10 years, 9 months ago (2010-03-23 02:09:28 UTC) #4
apatrick_chromium
darin, kbr: ready for review of the rest of the code under chrome/. http://codereview.chromium.org/1136006/diff/21002/35009 File ...
10 years, 9 months ago (2010-03-23 18:43:26 UTC) #5
Ken Russell (switch to Gerrit)
Generally looks good. A few comments. You'll also need to merge with http://codereview.chromium.org/1095005 which was ...
10 years, 9 months ago (2010-03-23 20:40:05 UTC) #6
apatrick_chromium
http://codereview.chromium.org/1136006/diff/40004/9023 File chrome/common/gpu_messages_internal.h (right): http://codereview.chromium.org/1136006/diff/40004/9023#newcode110 chrome/common/gpu_messages_internal.h:110: int32, /* parent_route_id */ Done. Yes an offscreen context ...
10 years, 9 months ago (2010-03-23 21:48:35 UTC) #7
Ken Russell (switch to Gerrit)
LGTM http://codereview.chromium.org/1136006/diff/83001/84009 File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): http://codereview.chromium.org/1136006/diff/83001/84009#newcode1599 gpu/command_buffer/service/gles2_cmd_decoder.cc:1599: DCHECK(!offscreen); Since I think there is a check ...
10 years, 9 months ago (2010-03-23 22:15:23 UTC) #8
apatrick_chromium
+dspringer +pinkerton No need to review everything. Please let me know if you see anything ...
10 years, 9 months ago (2010-03-23 22:24:59 UTC) #9
greggman
http://codereview.chromium.org/1136006/diff/21002/35009 File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): http://codereview.chromium.org/1136006/diff/21002/35009#newcode1059 gpu/command_buffer/service/gles2_cmd_decoder.cc:1059: glClear(buffers); On 2010/03/23 18:43:26, apatrick_chromium wrote: > The docs ...
10 years, 9 months ago (2010-03-24 08:49:02 UTC) #10
darin (slow to review)
This is really cool stuff. Just some minor things: http://codereview.chromium.org/1136006/diff/83001/84042 File chrome/browser/renderer_host/render_widget_host_view_win.cc (right): http://codereview.chromium.org/1136006/diff/83001/84042#newcode302 chrome/browser/renderer_host/render_widget_host_view_win.cc:302: ...
10 years, 9 months ago (2010-03-24 15:03:48 UTC) #11
apatrick_chromium
Ready for round 2. http://codereview.chromium.org/1136006/diff/83001/84042 File chrome/browser/renderer_host/render_widget_host_view_win.cc (right): http://codereview.chromium.org/1136006/diff/83001/84042#newcode302 chrome/browser/renderer_host/render_widget_host_view_win.cc:302: L"ChromiumRendererId", On 2010/03/24 15:03:49, darin ...
10 years, 9 months ago (2010-03-25 19:43:08 UTC) #12
darin (slow to review)
10 years, 9 months ago (2010-03-25 23:47:08 UTC) #13
I have no further comments.  LGTM2

Powered by Google App Engine
This is Rietveld 408576698