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

Issue 7860028: Retry 3 to split WebGraphicsContext3DCommandBufferImpl::initialize() into two stages. (Closed)

Created:
9 years, 3 months ago by nduca
Modified:
9 years, 3 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, apatrick_chromium
Visibility:
Public.

Description

Retry 3 to split WebGraphicsContext3DCommandBufferImpl::initialize() into two stages. This CL splits out creation of the context from channel creation. The WebGraphicsContext3D will not be fully initialized until MakeCurrent is called on it, at which point it is tied to the calling thread. As compared to previous land attempts, this has: - Protection against isContextLost being called on a dead context - WebKit-side protection to ensure that GraphicsContext3Ds get made current - Pepper modified to makeCurrent new contexts Original review URL: http://codereview.chromium.org/7713015 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=100955

Patch Set 1 #

Total comments: 2

Patch Set 2 : Fold thread fixes into this patch. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+132 lines, -70 lines) Patch
M build/common.gypi View 1 4 chunks +8 lines, -0 lines 0 comments Download
M content/renderer/gpu/command_buffer_proxy.cc View 1 2 chunks +6 lines, -6 lines 0 comments Download
M content/renderer/gpu/gpu_channel_host.cc View 1 2 chunks +2 lines, -1 line 0 comments Download
M content/renderer/gpu/renderer_gl_context.cc View 3 chunks +3 lines, -0 lines 0 comments Download
M content/renderer/gpu/transport_texture_service.h View 1 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h View 1 3 chunks +17 lines, -0 lines 0 comments Download
M content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc View 1 9 chunks +90 lines, -61 lines 0 comments Download
M content/renderer/pepper_plugin_delegate_impl.cc View 1 1 chunk +3 lines, -1 line 0 comments Download
M content/renderer/render_widget.cc View 1 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
nduca
9 years, 3 months ago (2011-09-09 04:41:51 UTC) #1
nduca
Related webkit bug: https://bugs.webkit.org/show_bug.cgi?id=67832
9 years, 3 months ago (2011-09-09 04:42:04 UTC) #2
lain Merrick
LGTM. Third time lucky! http://codereview.chromium.org/7860028/diff/1/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h File content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h (right): http://codereview.chromium.org/7860028/diff/1/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h#newcode65 content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h:65: // TODO(husky): Document threading restrictions ...
9 years, 3 months ago (2011-09-09 10:42:47 UTC) #3
nduca
http://codereview.chromium.org/7860028/diff/1/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h File content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h (right): http://codereview.chromium.org/7860028/diff/1/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h#newcode65 content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h:65: // TODO(husky): Document threading restrictions in WebGraphicsContext3D.h, On 2011/09/09 ...
9 years, 3 months ago (2011-09-09 15:47:19 UTC) #4
alokp
+gman Pepper changes lgtm according to the new convention. Longer term, do we need MakeCurrent? ...
9 years, 3 months ago (2011-09-09 20:10:37 UTC) #5
greggman
On 2011/09/09 20:10:37, Alok Priyadarshi wrote: > +gman > > Pepper changes lgtm according to ...
9 years, 3 months ago (2011-09-09 21:24:25 UTC) #6
Ken Russell (switch to Gerrit)
9 years, 3 months ago (2011-09-10 01:34:09 UTC) #7
LGTM, but it seems clear to me that
https://bugs.webkit.org/show_bug.cgi?id=67832 must land and be rolled forward
before this can land -- because WebGraphicsContext3D::initialize() must be
called before the first makeCurrent(), initialize() can only be called once, and
it's already called from the WebKit side, so we can't just modify
RendererWebKitPlatformSupportImpl::createGraphicsContext3D() to hide the change
in behavior while waiting for the WebKit side to land.

Powered by Google App Engine
This is Rietveld 408576698