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

Unified Diff: services/ui/gpu/gpu_main.h

Issue 2539893002: Mus: Implement GpuMain mojo interface (Closed)
Patch Set: Cleanup of naming some more Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: services/ui/gpu/gpu_main.h
diff --git a/services/ui/gpu/gpu_main.h b/services/ui/gpu/gpu_main.h
index b1dde2b2bc92369c8902e4e578b6c5d4ffd759b0..fd82f3db56ed958e7f877895ffe87eab49c3f147 100644
--- a/services/ui/gpu/gpu_main.h
+++ b/services/ui/gpu/gpu_main.h
@@ -6,18 +6,23 @@
#define SERVICES_UI_GPU_GPU_MAIN_H_
#include "base/threading/thread.h"
+#include "gpu/ipc/in_process_command_buffer.h"
#include "gpu/ipc/service/gpu_init.h"
#include "services/ui/gpu/interfaces/gpu_service_internal.mojom.h"
+#include "services/ui/surfaces/display_compositor_factory.h"
+#include "services/ui/surfaces/display_compositor_factory_delegate.h"
namespace gpu {
class GpuMemoryBufferFactory;
+class ImageFactory;
}
namespace ui {
class GpuServiceInternal;
-class GpuMain : public gpu::GpuSandboxHelper {
+class GpuMain : public gpu::GpuSandboxHelper,
+ public DisplayCompositorFactoryDelegate {
public:
GpuMain();
~GpuMain() override;
@@ -25,12 +30,18 @@ class GpuMain : public gpu::GpuSandboxHelper {
void OnStart();
void Create(mojom::GpuServiceInternalRequest request);
+ void Create(cc::mojom::DisplayCompositorFactoryRequest request);
+
GpuServiceInternal* gpu_service() { return gpu_service_internal_.get(); }
private:
void InitOnGpuThread(
scoped_refptr<base::SingleThreadTaskRunner> io_runner,
scoped_refptr<base::SingleThreadTaskRunner> compositor_runner);
+ void InitOnCompositorThread(
+ gpu::ImageFactory* image_factory,
+ scoped_refptr<base::SingleThreadTaskRunner> compositor_runner,
+ cc::mojom::DisplayCompositorFactoryRequest request);
void TearDownOnCompositorThread();
void TearDownOnGpuThread();
@@ -41,8 +52,22 @@ class GpuMain : public gpu::GpuSandboxHelper {
bool EnsureSandboxInitialized(
gpu::GpuWatchdogThread* watchdog_thread) override;
+ // DisplayCompositorFactoryDelegate implementation:
+ std::unique_ptr<gpu::GpuMemoryBufferManager> CreateGpuMemoryBufferManager()
+ override;
+
std::unique_ptr<gpu::GpuInit> gpu_init_;
std::unique_ptr<GpuServiceInternal> gpu_service_internal_;
+
+ // The message-pipe used by the DisplayCompositor to request gpu memory
+ // buffers.
+ mojom::GpuServiceInternalPtr gpu_internal_;
+
+ // The InCommandCommandBuffer::Service used by the display compositor.
+ scoped_refptr<gpu::InProcessCommandBuffer::Service> gpu_command_service_;
+
+ std::unique_ptr<DisplayCompositorFactory> display_compositor_factory_;
+
std::unique_ptr<gpu::GpuMemoryBufferFactory> gpu_memory_buffer_factory_;
// The main thread for GpuService.

Powered by Google App Engine
This is Rietveld 408576698