OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_OZONE_PLATFORM_DRI_GBM_SURFACE_FACTORY_H_ | 5 #ifndef UI_OZONE_PLATFORM_DRI_GBM_SURFACE_FACTORY_H_ |
6 #define UI_OZONE_PLATFORM_DRI_GBM_SURFACE_FACTORY_H_ | 6 #define UI_OZONE_PLATFORM_DRI_GBM_SURFACE_FACTORY_H_ |
7 | 7 |
8 #include "ui/ozone/platform/dri/dri_surface_factory.h" | 8 #include "ui/ozone/platform/dri/dri_surface_factory.h" |
9 | 9 |
10 struct gbm_device; | 10 struct gbm_device; |
11 | 11 |
12 namespace ui { | 12 namespace ui { |
13 | 13 |
14 class GbmSurfaceFactory : public DriSurfaceFactory { | 14 class GbmSurfaceFactory : public DriSurfaceFactory { |
15 public: | 15 public: |
16 GbmSurfaceFactory(); | 16 GbmSurfaceFactory(bool allow_surfaceless); |
17 virtual ~GbmSurfaceFactory(); | 17 virtual ~GbmSurfaceFactory(); |
18 | 18 |
19 void InitializeGpu(DriWrapper* dri, | 19 void InitializeGpu(DriWrapper* dri, |
20 gbm_device* device, | 20 gbm_device* device, |
21 ScreenManager* screen_manager); | 21 ScreenManager* screen_manager); |
22 | 22 |
23 // DriSurfaceFactory: | 23 // DriSurfaceFactory: |
24 virtual intptr_t GetNativeDisplay() OVERRIDE; | 24 virtual intptr_t GetNativeDisplay() OVERRIDE; |
25 virtual const int32_t* GetEGLSurfaceProperties( | 25 virtual const int32_t* GetEGLSurfaceProperties( |
26 const int32_t* desired_list) OVERRIDE; | 26 const int32_t* desired_list) OVERRIDE; |
27 virtual bool LoadEGLGLES2Bindings( | 27 virtual bool LoadEGLGLES2Bindings( |
28 AddGLLibraryCallback add_gl_library, | 28 AddGLLibraryCallback add_gl_library, |
29 SetGLGetProcAddressProcCallback set_gl_get_proc_address) OVERRIDE; | 29 SetGLGetProcAddressProcCallback set_gl_get_proc_address) OVERRIDE; |
30 virtual scoped_ptr<ui::SurfaceOzoneEGL> CreateEGLSurfaceForWidget( | 30 virtual scoped_ptr<ui::SurfaceOzoneEGL> CreateEGLSurfaceForWidget( |
31 gfx::AcceleratedWidget w) OVERRIDE; | 31 gfx::AcceleratedWidget w) OVERRIDE; |
32 virtual scoped_refptr<ui::NativePixmap> CreateNativePixmap( | 32 virtual scoped_refptr<ui::NativePixmap> CreateNativePixmap( |
33 gfx::Size size, | 33 gfx::Size size, |
34 BufferFormat format) OVERRIDE; | 34 BufferFormat format) OVERRIDE; |
| 35 virtual bool CanShowPrimaryPlaneAsOverlay() OVERRIDE; |
35 | 36 |
36 private: | 37 private: |
37 gbm_device* device_; // Not owned. | 38 gbm_device* device_; // Not owned. |
| 39 bool allow_surfaceless_; |
38 | 40 |
39 DISALLOW_COPY_AND_ASSIGN(GbmSurfaceFactory); | 41 DISALLOW_COPY_AND_ASSIGN(GbmSurfaceFactory); |
40 }; | 42 }; |
41 | 43 |
42 } // namespace ui | 44 } // namespace ui |
43 | 45 |
44 #endif // UI_OZONE_PLATFORM_DRI_GBM_SURFACE_FACTORY_H_ | 46 #endif // UI_OZONE_PLATFORM_DRI_GBM_SURFACE_FACTORY_H_ |
OLD | NEW |