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

Unified Diff: ui/ozone/platform/drm/gpu/gbm_surface_factory.h

Issue 1285183008: Ozone integration. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: add missing license header Created 5 years, 4 months 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
« no previous file with comments | « ui/ozone/platform/drm/gpu/gbm_surface.cc ('k') | ui/ozone/platform/drm/gpu/gbm_surface_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/ozone/platform/drm/gpu/gbm_surface_factory.h
diff --git a/ui/ozone/platform/drm/gpu/gbm_surface_factory.h b/ui/ozone/platform/drm/gpu/gbm_surface_factory.h
new file mode 100644
index 0000000000000000000000000000000000000000..0bc01b3be4fb52b4bf5738f9df58f91573a40e36
--- /dev/null
+++ b/ui/ozone/platform/drm/gpu/gbm_surface_factory.h
@@ -0,0 +1,57 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_OZONE_PLATFORM_DRM_GPU_GBM_SURFACE_FACTORY_H_
+#define UI_OZONE_PLATFORM_DRM_GPU_GBM_SURFACE_FACTORY_H_
+
+#include "ui/ozone/platform/drm/gpu/drm_surface_factory.h"
+
+namespace ui {
+
+class DrmDeviceManager;
+class DrmWindow;
+class GbmDevice;
+class ScreenManager;
+
+class GbmSurfaceFactory : public DrmSurfaceFactory {
+ public:
+ GbmSurfaceFactory(bool allow_surfaceless);
+ ~GbmSurfaceFactory() override;
+
+ void InitializeGpu(DrmDeviceManager* drm_device_manager,
+ ScreenManager* screen_manager);
+
+ // DrmSurfaceFactory:
+ intptr_t GetNativeDisplay() override;
+ const int32_t* GetEGLSurfaceProperties(const int32_t* desired_list) override;
+ bool LoadEGLGLES2Bindings(
+ AddGLLibraryCallback add_gl_library,
+ SetGLGetProcAddressProcCallback set_gl_get_proc_address) override;
+ scoped_ptr<SurfaceOzoneCanvas> CreateCanvasForWidget(
+ gfx::AcceleratedWidget widget) override;
+ scoped_ptr<ui::SurfaceOzoneEGL> CreateEGLSurfaceForWidget(
+ gfx::AcceleratedWidget w) override;
+ scoped_ptr<SurfaceOzoneEGL> CreateSurfacelessEGLSurfaceForWidget(
+ gfx::AcceleratedWidget widget) override;
+ scoped_refptr<ui::NativePixmap> CreateNativePixmap(
+ gfx::AcceleratedWidget widget,
+ gfx::Size size,
+ BufferFormat format,
+ BufferUsage usage) override;
+ bool CanShowPrimaryPlaneAsOverlay() override;
+ bool CanCreateNativePixmap(BufferUsage usage) override;
+
+ private:
+ scoped_refptr<GbmDevice> GetGbmDevice(gfx::AcceleratedWidget widget);
+
+ bool allow_surfaceless_;
+
+ DrmDeviceManager* drm_device_manager_; // Not owned.
+
+ DISALLOW_COPY_AND_ASSIGN(GbmSurfaceFactory);
+};
+
+} // namespace ui
+
+#endif // UI_OZONE_PLATFORM_DRM_GPU_GBM_SURFACE_FACTORY_H_
« no previous file with comments | « ui/ozone/platform/drm/gpu/gbm_surface.cc ('k') | ui/ozone/platform/drm/gpu/gbm_surface_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698