|
Revert 171569 as it broke some browser_tests on win_aura.
> Implement TextureImageTransportSurface using texture mailbox
>
> This has a couple of advantages:
> - allow tearing down and recreating the UI parent context without
> losing the renderer contexts
> - do not require a context to be able to generate textures when
> creating the GLSurfaceHandle
> - clearer ownership semantics that potentially allows for more
> robust and easier lost context handling/thumbnailing/etc., since a texture is at
> any given time owned by either: UI parent, mailbox, or
> TextureImageTransportSurface
> - simplify frontbuffer protection logic;
> the frontbuffer textures are now owned by RWHV where they are refcounted
>
> The TextureImageTransportSurface informs RenderWidgetHostView of the
> mailbox names for the front- and backbuffer textures by
> associating them with a surface_handle (1 or 2) in the AcceleratedSurfaceNew message.
> During SwapBuffers() or PostSubBuffer() cycles, it then uses
> produceTextureCHROMIUM() and consumeTextureCHROMIUM()
> to transfer ownership between renderer and browser compositor.
>
> RWHV sends back the surface_handle of the buffer being returned with the Swap ACK
> (or 0 if no buffer is being returned in which case TextureImageTransportSurface will
> allocate a new texture - note that this could be used to
> simply keep textures for thumbnailing).
>
> BUG= 154815, 139616
> TBR=sky@chromium.org
>
> Review URL: https://chromiumcodereview.appspot.com/11194042
Here's sample output:
[7748:4224:1206/162608:3511660:FATAL:prioritized_resource_manager.cc(316)] Check failed: resourceProvider.
Backtrace:
base::debug::StackTrace::StackTrace [0x72279581+33] (c:\b\build\slave\win_aura\build\src\base\debug\stack_trace_win.cc:171)
logging::LogMessage::~LogMessage [0x721603CE+94] (c:\b\build\slave\win_aura\build\src\base\logging.cc:564)
cc::PrioritizedResourceManager::clearAllMemory [0x66C0833F+479] (c:\b\build\slave\win_aura\build\src\cc\prioritized_resource_manager.cc:316)
cc::LayerTreeHost::deleteContentsTexturesOnImplThread [0x66B1B8E2+322] (c:\b\build\slave\win_aura\build\src\cc\layer_tree_host.cc:314)
cc::SingleThreadProxy::recreateOutputSurface [0x66AF7F00+848] (c:\b\build\slave\win_aura\build\src\cc\single_thread_proxy.cc:138)
cc::LayerTreeHost::recreateOutputSurface [0x66B1B50B+475] (c:\b\build\slave\win_aura\build\src\cc\layer_tree_host.cc:281)
cc::LayerTreeHost::initializeRendererIfNeeded [0x66B1E5FC+76] (c:\b\build\slave\win_aura\build\src\cc\layer_tree_host.cc:631)
cc::SingleThreadProxy::commitAndComposite [0x66AFA4CC+284] (c:\b\build\slave\win_aura\build\src\cc\single_thread_proxy.cc:342)
cc::SingleThreadProxy::compositeImmediately [0x66AFA0E6+22] (c:\b\build\slave\win_aura\build\src\cc\single_thread_proxy.cc:318)
cc::LayerTreeHost::composite [0x66B1E51A+58] (c:\b\build\slave\win_aura\build\src\cc\layer_tree_host.cc:613)
ui::Compositor::Draw [0x6E680DAF+383] (c:\b\build\slave\win_aura\build\src\ui\compositor\compositor.cc:397)
aura::RootWindow::Draw [0x6B96E2AD+285] (c:\b\build\slave\win_aura\build\src\ui\aura\root_window.cc:244)
base::internal::RunnableAdapter<void (__thiscall aura::RootWindow::*)(void)>::Run [0x6B978DA1+33] (c:\b\build\slave\win_aura\build\src\base\bind_internal.h:134)
base::internal::InvokeHelper<1,void,base::internal::RunnableAdapter<void (__thiscall aura::RootWindow::*)(void)>,void __cdecl(base::WeakPtr<aura::RootWindow> const &)>::MakeItSo [0x6B978CBD+45] (c:\b\build\slave\win_aura\build\src\base\bind_internal.h:884)
base::internal::Invoker<1,base::internal::BindState<base::internal::RunnableAdapter<void (__thiscall aura::RootWindow::*)(void)>,void __cdecl(aura::RootWindow *),void
from http://build.chromium.org/p/chromium.win/builders/Win%20Aura/builds/24952/steps/browser_tests/logs/WebGLAllowed
TBR=sievers@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=171663
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+701 lines, -712 lines) |
Patch |
 |
M |
content/browser/browser_plugin/browser_plugin_guest.cc
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
content/browser/gpu/gpu_process_host.cc
|
View
|
|
7 chunks |
+8 lines, -10 lines |
0 comments
|
Download
|
 |
M |
content/browser/gpu/gpu_process_host_ui_shim.cc
|
View
|
|
5 chunks |
+4 lines, -19 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/image_transport_factory.h
|
View
|
|
2 chunks |
+1 line, -3 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/image_transport_factory.cc
|
View
|
|
7 chunks |
+55 lines, -54 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/image_transport_factory_android.h
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/image_transport_factory_android.cc
|
View
|
|
5 chunks |
+9 lines, -38 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_process_host_impl.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_impl.h
|
View
|
|
2 chunks |
+10 lines, -1 line |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_impl.cc
|
View
|
|
3 chunks |
+15 lines, -3 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_android.h
|
View
|
|
3 chunks |
+0 lines, -14 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_android.cc
|
View
|
|
4 chunks |
+8 lines, -53 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_aura.h
|
View
|
|
7 chunks |
+34 lines, -44 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_aura.cc
|
View
|
|
17 chunks |
+172 lines, -150 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_gtk.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_guest.h
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_guest.cc
|
View
|
|
1 chunk |
+3 lines, -5 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_mac.mm
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/test_render_view_host.h
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/client/gl_helper.h
|
View
|
|
2 chunks |
+0 lines, -8 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/client/gl_helper.cc
|
View
|
|
2 chunks |
+0 lines, -27 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/gpu_command_buffer_stub.cc
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/gpu_messages.h
|
View
|
|
5 chunks |
+15 lines, -4 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/image_transport_surface.h
|
View
|
|
3 chunks |
+7 lines, -3 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/image_transport_surface.cc
|
View
|
|
4 chunks |
+14 lines, -3 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/image_transport_surface_android.cc
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/image_transport_surface_linux.cc
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/image_transport_surface_mac.cc
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/image_transport_surface_win.cc
|
View
|
|
2 chunks |
+2 lines, -3 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/texture_image_transport_surface.h
|
View
|
|
3 chunks |
+36 lines, -33 lines |
0 comments
|
Download
|
 |
M |
content/common/gpu/texture_image_transport_surface.cc
|
View
|
|
14 chunks |
+264 lines, -185 lines |
0 comments
|
Download
|
 |
M |
content/port/browser/render_widget_host_view_port.h
|
View
|
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/mailbox_manager.h
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/mailbox_manager.cc
|
View
|
|
4 chunks |
+3 lines, -10 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/texture_definition.h
|
View
|
|
2 chunks |
+1 line, -3 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/texture_definition.cc
|
View
|
|
1 chunk |
+0 lines, -12 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/compositor.h
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/compositor.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
ui/gfx/native_widget_types.h
|
View
|
|
1 chunk |
+13 lines, -2 lines |
0 comments
|
Download
|
Total messages: 1 (0 generated)
|