Support HW rendering in mus+ash
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e1d86515496285e3b5f593fa79d72daec6e64feb commit e1d86515496285e3b5f593fa79d72daec6e64feb Author: penghuang <penghuang@chromium.org> Date: Fri Jul 08 18:15:00 2016 mus+ash: Enable Chrome HW rendering in mus+ash This change enables the HW supports in mus+ash by * Wire up ui service GPU channel. * Always create offscreen GL context for gfx::AcceleratedWidget (mus window) in browser process. * Provide a MusBrowserCompositorOutputSurface. In MusBrowserCompositorOutputSurface::SwapBuffers(), we use CommandBufferProxyImpl::TakeFrontBuffer() to take the offscreen GL context's front buffer into a mailbox, insert a sync token, and send mailbox+sync to the ui service process. Know issue: GPUInfo is not sent to renderer, so some webgl demos don't work. BUG= 622708 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/2096843002 Cr-Commit-Position: refs/heads/master@{#404441} [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/browser/BUILD.gn [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/browser/browser_main_loop.cc [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/browser/compositor/DEPS [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/browser/compositor/gpu_process_transport_factory.cc [add] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/browser/compositor/mus_browser_compositor_output_surface.cc [add] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/browser/compositor/mus_browser_compositor_output_surface.h [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/browser/gpu/browser_gpu_channel_host_factory.cc [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/browser/gpu/gpu_data_manager_impl_private.cc [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/common/gpu/client/context_provider_command_buffer.cc [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/public/common/content_switches.cc [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/public/common/content_switches.h [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/content/renderer/render_thread_impl.cc [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/services/ui/common/gpu_service.cc [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/services/ui/gpu/gpu_service_mus.cc [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/services/ui/public/cpp/window_surface_client.h [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/ui/views/mus/native_widget_mus.cc [modify] https://crrev.com/e1d86515496285e3b5f593fa79d72daec6e64feb/ui/views/mus/window_tree_host_mus.h
Comment 1 by penghuang@chromium.org
, Jun 23 2016