Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Issue 29120 WebGL running with the GPU process (in sandbox)
Starred by 31 users Reported by oritm@chromium.org, Dec 1 2009 Back to list
Status: Fixed
Owner:
Closed: Mar 2010
Cc:
Components:
NextAction: ----
OS: Windows
Pri: 1
Type: Feature
M-5

Blocking:
issue 38952

Restricted
  • Only users with EditIssue permission may comment.


Sign in to add a comment
WebGL running with the GPU process (in sandbox).
Sub issues are tracked in WebKit. Here we'll have status updates.
 
Comment 1 by oritm@chromium.org, Dec 8 2009
Labels: -3d-Mstone-2 3d-Mstone-3
Not a demo blocker. Moving to m3.
Comment 2 by oritm@chromium.org, Dec 17 2009
Labels: -Area-BrowserBackend Area-Internals
Replacing labels:
   Area-BrowserBackend by Area-Internals

Labels: Internals-Graphics
Comment 4 by karen@chromium.org, Feb 2 2010
Labels: m5-priority
Comment 5 by kbr@chromium.org, Mar 24 2010
Issue 32606 has been merged into this issue.
Comment 6 by bugdro...@gmail.com, Mar 27 2010
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=42879 

------------------------------------------------------------------------
r42879 | kbr@google.com | 2010-03-26 17:23:34 -0700 (Fri, 26 Mar 2010) | 18 lines
Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/gpu_process_host.cc?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/gpu_process_host.h?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/browser_render_process_host.cc?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/browser_render_process_host.h?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_renderer.gypi?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/render_messages_internal.h?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/sandbox_init_wrapper_mac.cc?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_thread.cc?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_thread.h?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/ggl/ggl.cc?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_thread.cc?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_thread.h?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/renderer_webkitclient_impl.cc?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/renderer_webkitclient_impl.h?r1=42879&r2=42878
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/webgraphicscontext3d_command_buffer_impl.cc
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/webgraphicscontext3d_command_buffer_impl.h
   M http://src.chromium.org/viewvc/chrome/trunk/src/gpu/command_buffer/service/gles2_cmd_decoder.cc?r1=42879&r2=42878
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/tools/test_shell/test_shell_webkit_init.h?r1=42879&r2=42878

Added command buffer implementation of WebGL which runs in the sandbox.
Added synchronous initialization of the channel to the GPU process, needed
to obey WebGL startup semantics. There are problems with this on the
Windows platform which will be addressed via refactoring in the
GpuProcessHost in a subsequent CL. Implemented offscreen rendering code
path in GGL / GLES2CmdDecoder for Mac OS X.

This new code path is not yet complete for all platforms and is still being
stress tested. The previous in-process WebGL implementation is currently
used when the sandbox is disabled; it will be removed in a subsequent CL.

A one-line code change in WebKit is needed after this CL lands to enable
the new code path.

BUG= 29120 
TEST=ran WebGL demos on command buffer implementation on Mac

Review URL: http://codereview.chromium.org/1328001
------------------------------------------------------------------------

Comment 7 by bugdro...@gmail.com, Mar 30 2010
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=43029 

------------------------------------------------------------------------
r43029 | kbr@google.com | 2010-03-29 17:31:22 -0700 (Mon, 29 Mar 2010) | 27 lines
Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/child_process_host.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/gpu_process_host.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/gpu_process_host.h?r1=43029&r2=43028
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/gpu_process_host_ui_shim.cc
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/gpu_process_host_ui_shim.h
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/io_thread.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/backing_store_proxy.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/backing_store_proxy.h?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/browser_render_process_host.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/browser_render_process_host.h?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/gpu_view_host.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/gpu_view_host.h?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/resource_message_filter.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/resource_message_filter.h?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/video_layer_proxy.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/video_layer_proxy.h?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_browser.gypi?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/gpu_messages_internal.h?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/sandbox_policy.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_channel.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_thread.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/gpu/gpu_thread.h?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/gpu_channel_host.cc?r1=43029&r2=43028
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_thread.cc?r1=43029&r2=43028

Split GpuProcessHost into GpuProcessHostUIShim, which runs on the UI
thread, and GpuProcessHost, which now runs on the IO thread and
derives from ChildProcessHost. This split was necessary in order to
service synchronous messages from the renderer process. Moved message
handlers for GPU messages from renderer to browser from
BrowserRenderProcessHost to ResourceMessageFilter.

Stopped sending multiple ViewHostMsg_EstablishGpuChannel messages from
the same renderer if the connection was already established. Resetting
the channel was causing failures in Send, and every other page reload
containing WebGL content to fail. This cleanup will allow further
simplification in the GPU process, but this is being left for a
subsequent CL.

Fixed bug in sandboxing of GPU process. Fixed latent bugs in cleanup
code in GpuChannel and GpuChannelHost. Fixed crashes in
ChildProcessHost if resource_dispatcher_host_ was NULL. Fixed apparent
latent race conditions in creation of BackingStoreProxy and
VideoLayerProxy.

With these changes, WebGL content is running in the sandbox on both
Mac and Windows. Linux support will be added in a following CL.

BUG= 29120 
TEST=ran WebGL demos on Mac and Windows

Review URL: http://codereview.chromium.org/1546001
------------------------------------------------------------------------

Comment 8 by kbr@chromium.org, Mar 30 2010
Issue 32605 has been merged into this issue.
Comment 10 by kbr@chromium.org, Mar 31 2010
Status: Fixed
WebGL is now running in the sandbox via the GPU process on all platforms. Closing as 
fixed.

Comment 11 by kbr@chromium.org, Apr 15 2010
Issue 26055 has been merged into this issue.
Project Member Comment 12 by bugdroid1@chromium.org, Oct 12 2012
Blocking: -chromium:38952 chromium:38952
Labels: Restrict-AddIssueComment-Commit
This issue has been closed for some time. No one will pay attention to new comments.
If you are seeing this bug or have new data, please click New Issue to start a new bug.
Project Member Comment 13 by bugdroid1@chromium.org, Mar 10 2013
Labels: -Mstone-5 -Area-Internals -Internals-Graphics M-5 Cr-Internals-Graphics Cr-Internals
Project Member Comment 14 by bugdroid1@chromium.org, Mar 13 2013
Labels: -Restrict-AddIssueComment-Commit Restrict-AddIssueComment-EditIssue
Sign in to add a comment