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

Side by Side Diff: ui/ozone/platform/dri/gbm_surface_factory.h

Issue 706273002: Add ability to query and allocate zero copy buffers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
OLDNEW
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 DriWindowDelegate; 14 class DriWindowDelegate;
15 class DriWindowDelegateManager; 15 class DriWindowDelegateManager;
16 16
17 class GbmSurfaceFactory : public DriSurfaceFactory { 17 class GbmSurfaceFactory : public DriSurfaceFactory {
18 public: 18 public:
19 GbmSurfaceFactory(bool allow_surfaceless); 19 GbmSurfaceFactory(bool allow_surfaceless);
20 virtual ~GbmSurfaceFactory(); 20 virtual ~GbmSurfaceFactory();
21 21
22 void InitializeGpu(DriWrapper* dri, 22 void InitializeGpu(DriWrapper* dri,
23 gbm_device* device, 23 gbm_device* device,
24 ScreenManager* screen_manager, 24 ScreenManager* screen_manager,
25 DriWindowDelegateManager* window_manager); 25 DriWindowDelegateManager* window_manager);
26 26
27 // DriSurfaceFactory: 27 // DriSurfaceFactory:
28 virtual intptr_t GetNativeDisplay() override; 28 intptr_t GetNativeDisplay() override;
29 virtual const int32_t* GetEGLSurfaceProperties( 29 const int32_t* GetEGLSurfaceProperties(const int32_t* desired_list) override;
30 const int32_t* desired_list) override; 30 bool LoadEGLGLES2Bindings(
31 virtual bool LoadEGLGLES2Bindings(
32 AddGLLibraryCallback add_gl_library, 31 AddGLLibraryCallback add_gl_library,
33 SetGLGetProcAddressProcCallback set_gl_get_proc_address) override; 32 SetGLGetProcAddressProcCallback set_gl_get_proc_address) override;
34 virtual scoped_ptr<ui::SurfaceOzoneEGL> CreateEGLSurfaceForWidget( 33 scoped_ptr<ui::SurfaceOzoneEGL> CreateEGLSurfaceForWidget(
35 gfx::AcceleratedWidget w) override; 34 gfx::AcceleratedWidget w) override;
36 virtual scoped_ptr<SurfaceOzoneEGL> CreateSurfacelessEGLSurfaceForWidget( 35 scoped_ptr<SurfaceOzoneEGL> CreateSurfacelessEGLSurfaceForWidget(
37 gfx::AcceleratedWidget widget) override; 36 gfx::AcceleratedWidget widget) override;
38 virtual scoped_refptr<ui::NativePixmap> CreateNativePixmap( 37 scoped_refptr<ui::NativePixmap> CreateNativePixmap(
39 gfx::Size size, 38 gfx::Size size,
40 BufferFormat format) override; 39 BufferFormat format,
41 virtual OverlayCandidatesOzone* GetOverlayCandidates( 40 BufferUsage usage) override;
41 OverlayCandidatesOzone* GetOverlayCandidates(
42 gfx::AcceleratedWidget w) override; 42 gfx::AcceleratedWidget w) override;
43 virtual bool ScheduleOverlayPlane(gfx::AcceleratedWidget widget, 43 bool ScheduleOverlayPlane(gfx::AcceleratedWidget widget,
44 int plane_z_order, 44 int plane_z_order,
45 gfx::OverlayTransform plane_transform, 45 gfx::OverlayTransform plane_transform,
46 scoped_refptr<NativePixmap> buffer, 46 scoped_refptr<NativePixmap> buffer,
47 const gfx::Rect& display_bounds, 47 const gfx::Rect& display_bounds,
48 const gfx::RectF& crop_rect) override; 48 const gfx::RectF& crop_rect) override;
49 virtual bool CanShowPrimaryPlaneAsOverlay() override; 49 bool CanShowPrimaryPlaneAsOverlay() override;
50 bool CanCreateNativePixmap(BufferUsage usage) override;
50 51
51 private: 52 private:
52 DriWindowDelegate* GetOrCreateWindowDelegate(gfx::AcceleratedWidget widget); 53 DriWindowDelegate* GetOrCreateWindowDelegate(gfx::AcceleratedWidget widget);
53 54
54 gbm_device* device_; // Not owned. 55 gbm_device* device_; // Not owned.
55 bool allow_surfaceless_; 56 bool allow_surfaceless_;
56 57
57 DISALLOW_COPY_AND_ASSIGN(GbmSurfaceFactory); 58 DISALLOW_COPY_AND_ASSIGN(GbmSurfaceFactory);
58 }; 59 };
59 60
60 } // namespace ui 61 } // namespace ui
61 62
62 #endif // UI_OZONE_PLATFORM_DRI_GBM_SURFACE_FACTORY_H_ 63 #endif // UI_OZONE_PLATFORM_DRI_GBM_SURFACE_FACTORY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698