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

Side by Side Diff: ui/gfx/ozone/impl/dri_surface_factory.h

Issue 62953003: Support removal of DRI platform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix use_ozone=0 Created 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/gfx/ozone/impl/dri_surface.cc ('k') | ui/gfx/ozone/impl/dri_surface_factory.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef UI_GFX_OZONE_IMPL_DRI_SURFACE_FACTORY_H_
6 #define UI_GFX_OZONE_IMPL_DRI_SURFACE_FACTORY_H_
7
8 #include "base/memory/scoped_ptr.h"
9 #include "ui/gfx/ozone/surface_factory_ozone.h"
10
11 namespace gfx {
12
13 class DriSurface;
14 class DriWrapper;
15 class HardwareDisplayController;
16
17 // SurfaceFactoryOzone implementation on top of DRM/KMS using dumb buffers.
18 // This implementation is used in conjunction with the software rendering
19 // path.
20 class GFX_EXPORT DriSurfaceFactory : public SurfaceFactoryOzone {
21 public:
22 DriSurfaceFactory();
23 virtual ~DriSurfaceFactory();
24
25 virtual HardwareState InitializeHardware() OVERRIDE;
26 virtual void ShutdownHardware() OVERRIDE;
27
28 virtual gfx::AcceleratedWidget GetAcceleratedWidget() OVERRIDE;
29 virtual gfx::AcceleratedWidget RealizeAcceleratedWidget(
30 gfx::AcceleratedWidget w) OVERRIDE;
31
32 virtual bool LoadEGLGLES2Bindings(
33 AddGLLibraryCallback add_gl_library,
34 SetGLGetProcAddressProcCallback set_gl_get_proc_address) OVERRIDE;
35
36 virtual bool AttemptToResizeAcceleratedWidget(
37 gfx::AcceleratedWidget w,
38 const gfx::Rect& bounds) OVERRIDE;
39
40 virtual bool SchedulePageFlip(gfx::AcceleratedWidget w) OVERRIDE;
41
42 virtual SkCanvas* GetCanvasForWidget(gfx::AcceleratedWidget w) OVERRIDE;
43
44 virtual gfx::VSyncProvider* GetVSyncProvider(
45 gfx::AcceleratedWidget w) OVERRIDE;
46
47 private:
48 virtual DriSurface* CreateSurface(
49 HardwareDisplayController* controller);
50
51 virtual DriWrapper* CreateWrapper();
52
53 virtual bool InitializeControllerForPrimaryDisplay(
54 DriWrapper* drm,
55 HardwareDisplayController* controller);
56
57 // Blocks until a DRM event is read.
58 // TODO(dnicoara) Remove once we can safely move DRM event processing in the
59 // message loop while correctly signaling when we're done displaying the
60 // pending frame.
61 virtual void WaitForPageFlipEvent(int fd);
62
63 scoped_ptr<DriWrapper> drm_;
64
65 HardwareState state_;
66
67 // Active output.
68 scoped_ptr<HardwareDisplayController> controller_;
69
70
71 DISALLOW_COPY_AND_ASSIGN(DriSurfaceFactory);
72 };
73
74 } // namespace gfx
75
76 #endif // UI_GFX_OZONE_IMPL_DRI_SURFACE_FACTORY_H_
OLDNEW
« no previous file with comments | « ui/gfx/ozone/impl/dri_surface.cc ('k') | ui/gfx/ozone/impl/dri_surface_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698