Commit 0e5a4b44 authored by danakj's avatar danakj Committed by Commit bot

cc: Remove the unused compositor thread variable and interface.

Removes GetCompositorMessageLoop from the ContextFactory interface,
and drops the compositor_thread_ members from the ContextFactory
implementations.

There is no compositor thread in the ui compositor so these are now
excess complication.

R=sievers
BUG=329552

Review URL: https://codereview.chromium.org/943763004

Cr-Commit-Position: refs/heads/master@{#317622}
parent ac997d3f
...@@ -221,10 +221,9 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( ...@@ -221,10 +221,9 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
} }
if (!context_provider.get()) { if (!context_provider.get()) {
if (compositor_thread_.get()) { #if defined(OS_CHROMEOS)
LOG(FATAL) << "Failed to create UI context, but can't use software" LOG(FATAL) << "Shouldn't use software compositing on ChromeOS.";
" compositing with browser threaded compositing. Aborting."; #endif
}
scoped_ptr<SoftwareBrowserCompositorOutputSurface> surface( scoped_ptr<SoftwareBrowserCompositorOutputSurface> surface(
new SoftwareBrowserCompositorOutputSurface( new SoftwareBrowserCompositorOutputSurface(
...@@ -243,7 +242,6 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( ...@@ -243,7 +242,6 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
context_provider, data->surface_id, &output_surface_map_, context_provider, data->surface_id, &output_surface_map_,
compositor->vsync_manager(), compositor->vsync_manager(),
CreateOverlayCandidateValidator(compositor->widget()), GL_RGB, CreateOverlayCandidateValidator(compositor->widget()), GL_RGB,
compositor_thread_ != nullptr,
BrowserGpuMemoryBufferManager::current())); BrowserGpuMemoryBufferManager::current()));
} }
#endif #endif
...@@ -267,10 +265,8 @@ scoped_refptr<ui::Reflector> GpuProcessTransportFactory::CreateReflector( ...@@ -267,10 +265,8 @@ scoped_refptr<ui::Reflector> GpuProcessTransportFactory::CreateReflector(
PerCompositorData* data = per_compositor_data_[source]; PerCompositorData* data = per_compositor_data_[source];
DCHECK(data); DCHECK(data);
data->reflector = new ReflectorImpl(source, data->reflector = new ReflectorImpl(source, target, &output_surface_map_,
target, nullptr, // Compositor message loop.
&output_surface_map_,
GetCompositorMessageLoop(),
data->surface_id); data->surface_id);
return data->reflector; return data->reflector;
} }
...@@ -329,12 +325,6 @@ ui::ContextFactory* GpuProcessTransportFactory::GetContextFactory() { ...@@ -329,12 +325,6 @@ ui::ContextFactory* GpuProcessTransportFactory::GetContextFactory() {
return this; return this;
} }
base::MessageLoopProxy* GpuProcessTransportFactory::GetCompositorMessageLoop() {
if (!compositor_thread_)
return NULL;
return compositor_thread_->message_loop_proxy().get();
}
gfx::GLSurfaceHandle GpuProcessTransportFactory::GetSharedSurfaceHandle() { gfx::GLSurfaceHandle GpuProcessTransportFactory::GetSharedSurfaceHandle() {
gfx::GLSurfaceHandle handle = gfx::GLSurfaceHandle( gfx::GLSurfaceHandle handle = gfx::GLSurfaceHandle(
gfx::kNullPluginWindow, gfx::NULL_TRANSPORT); gfx::kNullPluginWindow, gfx::NULL_TRANSPORT);
......
...@@ -53,7 +53,6 @@ class GpuProcessTransportFactory ...@@ -53,7 +53,6 @@ class GpuProcessTransportFactory
bool DoesCreateTestContexts() override; bool DoesCreateTestContexts() override;
cc::SharedBitmapManager* GetSharedBitmapManager() override; cc::SharedBitmapManager* GetSharedBitmapManager() override;
gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override;
base::MessageLoopProxy* GetCompositorMessageLoop() override;
scoped_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator() override; scoped_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator() override;
void ResizeDisplay(ui::Compositor* compositor, void ResizeDisplay(ui::Compositor* compositor,
const gfx::Size& size) override; const gfx::Size& size) override;
...@@ -85,7 +84,6 @@ class GpuProcessTransportFactory ...@@ -85,7 +84,6 @@ class GpuProcessTransportFactory
void OnLostMainThreadSharedContext(); void OnLostMainThreadSharedContext();
typedef std::map<ui::Compositor*, PerCompositorData*> PerCompositorDataMap; typedef std::map<ui::Compositor*, PerCompositorData*> PerCompositorDataMap;
scoped_ptr<base::Thread> compositor_thread_;
PerCompositorDataMap per_compositor_data_; PerCompositorDataMap per_compositor_data_;
scoped_refptr<ContextProviderCommandBuffer> shared_main_thread_contexts_; scoped_refptr<ContextProviderCommandBuffer> shared_main_thread_contexts_;
scoped_ptr<GLHelper> gl_helper_; scoped_ptr<GLHelper> gl_helper_;
......
...@@ -23,7 +23,6 @@ GpuSurfacelessBrowserCompositorOutputSurface:: ...@@ -23,7 +23,6 @@ GpuSurfacelessBrowserCompositorOutputSurface::
const scoped_refptr<ui::CompositorVSyncManager>& vsync_manager, const scoped_refptr<ui::CompositorVSyncManager>& vsync_manager,
scoped_ptr<cc::OverlayCandidateValidator> overlay_candidate_validator, scoped_ptr<cc::OverlayCandidateValidator> overlay_candidate_validator,
unsigned internalformat, unsigned internalformat,
bool use_own_gl_helper,
BrowserGpuMemoryBufferManager* gpu_memory_buffer_manager) BrowserGpuMemoryBufferManager* gpu_memory_buffer_manager)
: GpuBrowserCompositorOutputSurface(context, : GpuBrowserCompositorOutputSurface(context,
surface_id, surface_id,
...@@ -31,7 +30,6 @@ GpuSurfacelessBrowserCompositorOutputSurface:: ...@@ -31,7 +30,6 @@ GpuSurfacelessBrowserCompositorOutputSurface::
vsync_manager, vsync_manager,
overlay_candidate_validator.Pass()), overlay_candidate_validator.Pass()),
internalformat_(internalformat), internalformat_(internalformat),
use_own_gl_helper_(use_own_gl_helper),
gpu_memory_buffer_manager_(gpu_memory_buffer_manager) { gpu_memory_buffer_manager_(gpu_memory_buffer_manager) {
capabilities_.uses_default_gl_framebuffer = false; capabilities_.uses_default_gl_framebuffer = false;
capabilities_.flipped_output_surface = true; capabilities_.flipped_output_surface = true;
...@@ -86,17 +84,9 @@ bool GpuSurfacelessBrowserCompositorOutputSurface::BindToClient( ...@@ -86,17 +84,9 @@ bool GpuSurfacelessBrowserCompositorOutputSurface::BindToClient(
cc::OutputSurfaceClient* client) { cc::OutputSurfaceClient* client) {
if (!GpuBrowserCompositorOutputSurface::BindToClient(client)) if (!GpuBrowserCompositorOutputSurface::BindToClient(client))
return false; return false;
GLHelper* helper; GLHelper* helper = ImageTransportFactory::GetInstance()->GetGLHelper();
if (use_own_gl_helper_) {
gl_helper_.reset(new GLHelper(context_provider_->ContextGL(),
context_provider_->ContextSupport()));
helper = gl_helper_.get();
} else {
helper = ImageTransportFactory::GetInstance()->GetGLHelper();
}
if (!helper) if (!helper)
return false; return false;
output_surface_.reset(new BufferQueue(context_provider_, internalformat_, output_surface_.reset(new BufferQueue(context_provider_, internalformat_,
helper, gpu_memory_buffer_manager_, helper, gpu_memory_buffer_manager_,
surface_id_)); surface_id_));
......
...@@ -11,7 +11,6 @@ namespace content { ...@@ -11,7 +11,6 @@ namespace content {
class BrowserGpuMemoryBufferManager; class BrowserGpuMemoryBufferManager;
class BufferQueue; class BufferQueue;
class GLHelper;
class GpuSurfacelessBrowserCompositorOutputSurface class GpuSurfacelessBrowserCompositorOutputSurface
: public GpuBrowserCompositorOutputSurface { : public GpuBrowserCompositorOutputSurface {
...@@ -23,7 +22,6 @@ class GpuSurfacelessBrowserCompositorOutputSurface ...@@ -23,7 +22,6 @@ class GpuSurfacelessBrowserCompositorOutputSurface
const scoped_refptr<ui::CompositorVSyncManager>& vsync_manager, const scoped_refptr<ui::CompositorVSyncManager>& vsync_manager,
scoped_ptr<cc::OverlayCandidateValidator> overlay_candidate_validator, scoped_ptr<cc::OverlayCandidateValidator> overlay_candidate_validator,
unsigned internalformat, unsigned internalformat,
bool use_own_gl_helper,
BrowserGpuMemoryBufferManager* gpu_memory_buffer_manager); BrowserGpuMemoryBufferManager* gpu_memory_buffer_manager);
~GpuSurfacelessBrowserCompositorOutputSurface() override; ~GpuSurfacelessBrowserCompositorOutputSurface() override;
...@@ -36,8 +34,6 @@ class GpuSurfacelessBrowserCompositorOutputSurface ...@@ -36,8 +34,6 @@ class GpuSurfacelessBrowserCompositorOutputSurface
bool BindToClient(cc::OutputSurfaceClient* client) override; bool BindToClient(cc::OutputSurfaceClient* client) override;
unsigned int internalformat_; unsigned int internalformat_;
bool use_own_gl_helper_;
scoped_ptr<GLHelper> gl_helper_;
scoped_ptr<BufferQueue> output_surface_; scoped_ptr<BufferQueue> output_surface_;
BrowserGpuMemoryBufferManager* gpu_memory_buffer_manager_; BrowserGpuMemoryBufferManager* gpu_memory_buffer_manager_;
}; };
......
...@@ -942,16 +942,24 @@ IN_PROC_BROWSER_TEST_P( ...@@ -942,16 +942,24 @@ IN_PROC_BROWSER_TEST_P(
video_frame); video_frame);
} }
#if defined(OS_CHROMEOS)
// On ChromeOS there is no software compositing.
static const auto kTestCompositingModes = testing::Values(GL_COMPOSITING);
#else
static const auto kTestCompositingModes =
testing::Values(GL_COMPOSITING, SOFTWARE_COMPOSITING);
#endif
INSTANTIATE_TEST_CASE_P(GLAndSoftwareCompositing, INSTANTIATE_TEST_CASE_P(GLAndSoftwareCompositing,
CompositingRenderWidgetHostViewBrowserTest, CompositingRenderWidgetHostViewBrowserTest,
testing::Values(GL_COMPOSITING, SOFTWARE_COMPOSITING)); kTestCompositingModes);
INSTANTIATE_TEST_CASE_P(GLAndSoftwareCompositing, INSTANTIATE_TEST_CASE_P(GLAndSoftwareCompositing,
CompositingRenderWidgetHostViewBrowserTestTabCapture, CompositingRenderWidgetHostViewBrowserTestTabCapture,
testing::Values(GL_COMPOSITING, SOFTWARE_COMPOSITING)); kTestCompositingModes);
INSTANTIATE_TEST_CASE_P( INSTANTIATE_TEST_CASE_P(
GLAndSoftwareCompositing, GLAndSoftwareCompositing,
CompositingRenderWidgetHostViewBrowserTestTabCaptureHighDPI, CompositingRenderWidgetHostViewBrowserTestTabCaptureHighDPI,
testing::Values(GL_COMPOSITING, SOFTWARE_COMPOSITING)); kTestCompositingModes);
#endif // !defined(OS_ANDROID) && !defined(OS_IOS) #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
......
...@@ -32,14 +32,6 @@ class ScreenOrientationBrowserTest : public ContentBrowserTest { ...@@ -32,14 +32,6 @@ class ScreenOrientationBrowserTest : public ContentBrowserTest {
ScreenOrientationBrowserTest() { ScreenOrientationBrowserTest() {
} }
void SetUp() override {
// Painting has to happen otherwise the Resize messages will be added on top
// of each other without properly ack-painting which will fail and crash.
UseSoftwareCompositing();
ContentBrowserTest::SetUp();
}
protected: protected:
void SendFakeScreenOrientation(unsigned angle, const std::string& strType) { void SendFakeScreenOrientation(unsigned angle, const std::string& strType) {
RenderWidgetHost* rwh = shell()->web_contents()->GetRenderWidgetHostView() RenderWidgetHost* rwh = shell()->web_contents()->GetRenderWidgetHostView()
......
...@@ -15,6 +15,10 @@ ...@@ -15,6 +15,10 @@
namespace content { namespace content {
// ChromeOS does not do software compositing, so kDisableGpu is not available
// there.
#if !defined(OS_CHROMEOS)
class ChildDiscardableSharedMemoryManagerBrowserTest class ChildDiscardableSharedMemoryManagerBrowserTest
: public ContentBrowserTest { : public ContentBrowserTest {
public: public:
...@@ -118,4 +122,6 @@ IN_PROC_BROWSER_TEST_F(ChildDiscardableSharedMemoryManagerBrowserTest, ...@@ -118,4 +122,6 @@ IN_PROC_BROWSER_TEST_F(ChildDiscardableSharedMemoryManagerBrowserTest,
} }
} }
#endif // !OS_CHROMEOS
} // content } // content
...@@ -72,7 +72,6 @@ Compositor::Compositor(gfx::AcceleratedWidget widget, ...@@ -72,7 +72,6 @@ Compositor::Compositor(gfx::AcceleratedWidget widget,
root_layer_(NULL), root_layer_(NULL),
widget_(widget), widget_(widget),
surface_id_allocator_(context_factory->CreateSurfaceIdAllocator()), surface_id_allocator_(context_factory->CreateSurfaceIdAllocator()),
compositor_thread_loop_(context_factory->GetCompositorMessageLoop()),
task_runner_(task_runner), task_runner_(task_runner),
vsync_manager_(new CompositorVSyncManager()), vsync_manager_(new CompositorVSyncManager()),
device_scale_factor_(0.0f), device_scale_factor_(0.0f),
...@@ -137,25 +136,10 @@ Compositor::Compositor(gfx::AcceleratedWidget widget, ...@@ -137,25 +136,10 @@ Compositor::Compositor(gfx::AcceleratedWidget widget,
settings.hud_typeface = ui::GetHudTypeface(); settings.hud_typeface = ui::GetHudTypeface();
base::TimeTicks before_create = base::TimeTicks::Now(); base::TimeTicks before_create = base::TimeTicks::Now();
if (compositor_thread_loop_.get()) { host_ = cc::LayerTreeHost::CreateSingleThreaded(
host_ = cc::LayerTreeHost::CreateThreaded( this, this, context_factory_->GetSharedBitmapManager(),
this, context_factory_->GetGpuMemoryBufferManager(), settings, task_runner_,
context_factory_->GetSharedBitmapManager(), nullptr);
context_factory_->GetGpuMemoryBufferManager(),
settings,
task_runner_,
compositor_thread_loop_,
nullptr);
} else {
host_ = cc::LayerTreeHost::CreateSingleThreaded(
this,
this,
context_factory_->GetSharedBitmapManager(),
context_factory_->GetGpuMemoryBufferManager(),
settings,
task_runner_,
nullptr);
}
UMA_HISTOGRAM_TIMES("GPU.CreateBrowserCompositor", UMA_HISTOGRAM_TIMES("GPU.CreateBrowserCompositor",
base::TimeTicks::Now() - before_create); base::TimeTicks::Now() - before_create);
host_->SetRootLayer(root_web_layer_); host_->SetRootLayer(root_web_layer_);
...@@ -354,14 +338,6 @@ void Compositor::DidCommitAndDrawFrame() { ...@@ -354,14 +338,6 @@ void Compositor::DidCommitAndDrawFrame() {
} }
void Compositor::DidCompleteSwapBuffers() { void Compositor::DidCompleteSwapBuffers() {
// DidPostSwapBuffers is a SingleThreadProxy-only feature. Synthetically
// generate OnCompositingStarted messages for the threaded case so that
// OnCompositingStarted/OnCompositingEnded messages match.
if (compositor_thread_loop_.get()) {
base::TimeTicks start_time = gfx::FrameTime::Now();
FOR_EACH_OBSERVER(CompositorObserver, observer_list_,
OnCompositingStarted(this, start_time));
}
FOR_EACH_OBSERVER(CompositorObserver, observer_list_, FOR_EACH_OBSERVER(CompositorObserver, observer_list_,
OnCompositingEnded(this)); OnCompositingEnded(this));
} }
......
...@@ -97,10 +97,6 @@ class COMPOSITOR_EXPORT ContextFactory { ...@@ -97,10 +97,6 @@ class COMPOSITOR_EXPORT ContextFactory {
// Gets the GPU memory buffer manager. // Gets the GPU memory buffer manager.
virtual gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() = 0; virtual gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() = 0;
// Gets the compositor message loop, or NULL if not using threaded
// compositing.
virtual base::MessageLoopProxy* GetCompositorMessageLoop() = 0;
// Creates a Surface ID allocator with a new namespace. // Creates a Surface ID allocator with a new namespace.
virtual scoped_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator() = 0; virtual scoped_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator() = 0;
...@@ -315,7 +311,6 @@ class COMPOSITOR_EXPORT Compositor ...@@ -315,7 +311,6 @@ class COMPOSITOR_EXPORT Compositor
scoped_ptr<cc::SurfaceIdAllocator> surface_id_allocator_; scoped_ptr<cc::SurfaceIdAllocator> surface_id_allocator_;
scoped_refptr<cc::Layer> root_web_layer_; scoped_refptr<cc::Layer> root_web_layer_;
scoped_ptr<cc::LayerTreeHost> host_; scoped_ptr<cc::LayerTreeHost> host_;
scoped_refptr<base::MessageLoopProxy> compositor_thread_loop_;
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
// The manager of vsync parameters for this compositor. // The manager of vsync parameters for this compositor.
......
...@@ -179,12 +179,6 @@ InProcessContextFactory::GetGpuMemoryBufferManager() { ...@@ -179,12 +179,6 @@ InProcessContextFactory::GetGpuMemoryBufferManager() {
return &gpu_memory_buffer_manager_; return &gpu_memory_buffer_manager_;
} }
base::MessageLoopProxy* InProcessContextFactory::GetCompositorMessageLoop() {
if (!compositor_thread_)
return NULL;
return compositor_thread_->message_loop_proxy().get();
}
scoped_ptr<cc::SurfaceIdAllocator> scoped_ptr<cc::SurfaceIdAllocator>
InProcessContextFactory::CreateSurfaceIdAllocator() { InProcessContextFactory::CreateSurfaceIdAllocator() {
return make_scoped_ptr( return make_scoped_ptr(
......
...@@ -47,13 +47,11 @@ class InProcessContextFactory : public ContextFactory { ...@@ -47,13 +47,11 @@ class InProcessContextFactory : public ContextFactory {
bool DoesCreateTestContexts() override; bool DoesCreateTestContexts() override;
cc::SharedBitmapManager* GetSharedBitmapManager() override; cc::SharedBitmapManager* GetSharedBitmapManager() override;
gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override;
base::MessageLoopProxy* GetCompositorMessageLoop() override;
scoped_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator() override; scoped_ptr<cc::SurfaceIdAllocator> CreateSurfaceIdAllocator() override;
void ResizeDisplay(ui::Compositor* compositor, void ResizeDisplay(ui::Compositor* compositor,
const gfx::Size& size) override; const gfx::Size& size) override;
private: private:
scoped_ptr<base::Thread> compositor_thread_;
scoped_refptr<cc::ContextProvider> shared_main_thread_contexts_; scoped_refptr<cc::ContextProvider> shared_main_thread_contexts_;
cc::TestSharedBitmapManager shared_bitmap_manager_; cc::TestSharedBitmapManager shared_bitmap_manager_;
cc::TestGpuMemoryBufferManager gpu_memory_buffer_manager_; cc::TestGpuMemoryBufferManager gpu_memory_buffer_manager_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment