class GbmSurfaceFactory : public DriSurfaceFactory {
public:
- GbmSurfaceFactory(DriWrapper* dri,
- gbm_device* device,
- ScreenManager* screen_manager);
+ GbmSurfaceFactory(bool allow_surfaceless);
virtual ~GbmSurfaceFactory();
+ void InitializeGpu(DriWrapper* dri,
+ gbm_device* device,
+ ScreenManager* screen_manager);
+
// DriSurfaceFactory:
virtual intptr_t GetNativeDisplay() OVERRIDE;
virtual const int32_t* GetEGLSurfaceProperties(
SetGLGetProcAddressProcCallback set_gl_get_proc_address) OVERRIDE;
virtual scoped_ptr<ui::SurfaceOzoneEGL> CreateEGLSurfaceForWidget(
gfx::AcceleratedWidget w) OVERRIDE;
- virtual gfx::NativeBufferOzone CreateNativeBuffer(
+ virtual scoped_refptr<ui::NativePixmap> CreateNativePixmap(
gfx::Size size,
BufferFormat format) OVERRIDE;
+ virtual bool ScheduleOverlayPlane(gfx::AcceleratedWidget widget,
+ int plane_z_order,
+ gfx::OverlayTransform plane_transform,
+ scoped_refptr<NativePixmap> buffer,
+ const gfx::Rect& display_bounds,
+ const gfx::RectF& crop_rect) OVERRIDE;
+ virtual bool CanShowPrimaryPlaneAsOverlay() OVERRIDE;
private:
gbm_device* device_; // Not owned.
+ bool allow_surfaceless_;
DISALLOW_COPY_AND_ASSIGN(GbmSurfaceFactory);
};